https://github.com/keiserlab/deepfish
https://github.com/keiserlab/deepfish
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/keiserlab/deepfish
- Owner: keiserlab
- License: mit
- Created: 2024-02-15T23:53:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-09T21:02:03.000Z (7 months ago)
- Last Synced: 2025-01-19T11:43:51.814Z (4 months ago)
- Language: Python
- Size: 37.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DeepFish
## This is the deepfish repo to accompany the manuscript titled "Deep phenotypic profiling of neuroactive drugs in larval zebrafish" ([doi:10.1101/2024.02.22.581657](https://doi.org/10.1101/2024.02.22.581657))
### **Environment setup:**
To train the Twin-NN and Twin-DN models, create a new conda environment from the provided requirements file as follows: `conda create --name deepfish_env --file deepfish_env_req_simple.txt`.\
The code was tested and model training was performed on NVIDIA a GeForce GTX 1080 Ti GPU and a CentOS Linux kernel 3.10.0 operating system with an x86-64 architecture.### **Data:**
Download data from provided zenodo repo: https://zenodo.org/records/10652682. Put the data in the 'Data/' directory or whichever directory you prefer (just make sure to edit the path in the config.yaml file)### **To train models:**
Use provided config file or choose custom training parameters (config.yaml file). Activate conda environment: `conda activate deepfish_env` \
We provide the pre-enumerated training and test pairs in the data repo as numpy arrays as described in the methods section. You can use a different train/ test splitting approach, just save the resulting pairs to a numpy array and place in the Data directory.\
Run main training loop: `python TwinMain.py`### **Expected Results:** ###
Expected training results provided in output log files in the Results/ directory for the two models, Twin-NN and Twin-DN.\
Twin-NN runtime: about 10 minutes on a single GPU for 25 epochs, with batch size of 32. GPU memory utilization: 2.8 GB.\
Twin-DN: about 4 hours on a single GPU for 25 epochs, with batch size of 8. GPU memory utilization: 8.5 GB.