KumarLabJax / JABS-behavior-classifier

Behavior Classifier Component from the Jax Animal Behavior System
Other
11 stars 1 forks source link

Update library requirements.txt #27

Closed SkepticRaven closed 9 months ago

SkepticRaven commented 11 months ago

Updating the requirements.txt to not be 2-3 year old libraries. There were a couple other changes to get compatibility working again.

Tests run at the beginning of this pull:

I don't have a bunch of dev environments to test, so these were all conducted inside singularity (running debian). One of the fixed I needed to do (upgrade to shapely change) may address https://github.com/KumarLabJax/JABS-behavior-classifier/issues/5#issuecomment-1621725227 Also address https://github.com/KumarLabJax/JABS-behavior-classifier/issues/24

Would be good to have someone with a mac environment to share their experience.

SkepticRaven commented 11 months ago

Works successfully on windows 10 (python 3.10.11)

SkepticRaven commented 11 months ago

@dahhei tried to install the venv on a mac and discovered shiboken needed to be updated from 5 -> 6

anshu957 commented 11 months ago

The app gets installed without any issue on mac M1. I can also train a classifier for single mouse dataset. However, when I try to export the classifier, I get the following error:

Traceback (most recent call last):
  File "/Users/chouda/tmp/jabs_app/JABS-behavior-classifier/src/ui/main_window.py", line 215, in _export_training_data
    out_path = export_training_data(self._project,
  File "/Users/chouda/tmp/jabs_app/JABS-behavior-classifier/src/project/export_training.py", line 92, in export_training_data
    (1,), dtype=np.int)
  File "/Users/chouda/tmp/jabs_app/JABS-behavior-classifier/jabs.venv/lib/python3.9/site-packages/numpy/__init__.py", line 313, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'int'.
`np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
SkepticRaven commented 11 months ago

This branch would have particularly benefited from having more coverage on unittests. Given that I missed that one, I should probably click all the buttons on the gui and even run tests on the non-gui version to make sure things don't change before a merge. New list of tests that should probably go through:

Also I upgraded the singularity gui vm from buster -> bookworm, so should make the non-gui one also be bookworm (not bullseye).

SkepticRaven commented 11 months ago

A couple notes from testing/poking around:

SkepticRaven commented 11 months ago

Latest commit should clear the 2 issues above. Remaining checks before merge: