KumarLabJax / JABS-behavior-classifier

Behavior Classifier Component from the Jax Animal Behavior System
Other
12 stars 2 forks source link

Update library requirements.txt #27

Closed SkepticRaven closed 1 year ago

SkepticRaven commented 1 year 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 1 year ago

Works successfully on windows 10 (python 3.10.11)

SkepticRaven commented 1 year ago

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

anshu957 commented 1 year 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 1 year 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 1 year ago

A couple notes from testing/poking around:

SkepticRaven commented 1 year ago

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