A PyTorch-based library for research on convolutional neural networks for 3D semantic segmentation. Its focus is on HDF5 data loading/augmentation, training, monitoring and model evaluation.
elektronn3 is under active development and its API is not yet stable.
For a roadmap of planned features, see the "enhancement" issues on the tracker.
- Linux (support for Windows, MacOS and other systems is not planned)
- Python 3.6 or later
- PyTorch 1.0
- For other requirements see
requirements.txt
Ensure that all of the requirements listed above are installed. We recommend using conda or a virtualenv for that. To install elektronn3 in development mode, run
git clone https://github.com/ELEKTRONN/elektronn3 elektronn3-dev
pip install -e elektronn3-dev
To update your installation, just git pull
in your clone
directory.
For a quick test run, first ensure that the neuro_data_cdhw data set is in the expected path:
wget https://github.com/ELEKTRONN/elektronn.github.io/releases/download/neuro_data_cdhw/neuro_data_cdhw.zip
unzip neuro_data_cdhw.zip -d ~/neuro_data_cdhw
To test training with our custom U-Net-derived architecture in elektronn3, you can run:
python3 train_unet_neurodata.py
- Hitting Ctrl-C anytime during the training will drop you to the IPython training shell where you can access training data and make interactive changes.
- To continue training, hit Ctrl-D twice.
- If you want the process to terminate after leaving the shell, set
self.terminate = True
inside it and then hit Ctrl-D twice.
Tensorboard logs are saved in ~/e3training/
by default, so you can track training
progress by running a tensorboard server there:
tensorboard --logdir ~/e3training/
Then you can view the visualizations at http://localhost:6006.
The elektronn3 project is being developed by the ELEKTRONN team at the Max Planck Institute of Neurobiology and is funded by Winfried Denk's lab.
Jörgen Kornfeld is academic advisor to this project.