Closed johnmbarrett closed 4 years ago
@johnmbarrett there is now a (somewhat clunky) fix for this. I added another field in the data json named all_source
which should be set to either "data"
or "save"
, and defines where the code searches for sessions to construct multisessions. If all_source="data"
then the behavior is as you hoped for: all available sessions in the data directory are found and used. In order to retain compatibility with older analysis code the default is set to all_source="save"
.
The updates are in the develop
branch, hopefully we'll push everything out to master
in the not-too-distant future.
Steps to reproduce:
1). Run
setting the base data and base results directories to different folders. 2). Fit an AE model to multiple experimental sessions by setting at least one of expt, animal, or session to "all" in the data config. Example data and configs are attached, rename john.zip to john.7z and extract the data to your data folder, then extract the configs to your .behavenet folder and run:
python behavenet/fitting/ae_grid_search.py --data_config ~/.behavenet/john_seed_handling_params.json --model_config ~/.behavenet/ae_model.json --training_config ~/.behavenet/ae_training.json --compute_config ~/.behavenet/ae_compute.json
Expected behaviour: behavenet fits an AE model to all your data.
Actual behaviour: behavenet fails with the following error:
Additional comments: when fitting a multisession, behavenet seems to look in the results directory for the data (but not when fitting a single session, that works fine with different data and save directories). I forget where exactly in the code this happens as it was a few days ago I ran into this. As a workaround, it's possible to fit a multisession by setting the data and results directories to be the same.