Skip to content

DLC2Action is an action segmentation package that makes running and tracking of machine learning experiments easy.

License

Notifications You must be signed in to change notification settings

amathislab/DLC2action

Repository files navigation

Generic badge Code style: black

DLC2Action is an action segmentation package that makes running and tracking of machine learning experiments easy.

Installation

Via the Python Package Index

You can simply install DLC2Action by typing:

pip install "dlc2action==0.2b3"

From Github

You can also install DLC2Action for development (or based on the bleeding edge) by running in your terminal:

git clone https://github.com/amathislab/DLC2Action
cd DLC2Action
conda create --name DLC2Action python=3.9
conda activate DLC2Action
python -m pip install .

Features

The functionality of DLC2Action includes:

  • compiling and updating project-specific configuration files,
  • filling in configuration dictionaries automatically whenever possible,
  • saving training parameters and results,
  • running predictions and hyperparameter searches,
  • creating active learning files,
  • loading hyperparameter search results in experiments and dumping them into configuration files,
  • comparing new experiment parameters with the project history and loading pre-computed features (to save time) and previously created splits (to enforce consistency) when there is a match,
  • filtering and displaying training, prediction and hyperparameter search history,
  • plotting training curve comparisons

and more.

A quick example

You can start a new project, run an experiment, visualize it and use the trained model to make a prediction in a few lines of code.

from dlc2action.project import Project

# create a new project
project = Project('project_name', data_type='data_type', annotation_type='annotation_type',
                  data_path='path/to/data/folder', annotation_path='path/to/annotation/folder')
# set important parameters, like the set labels you want to predict
project.update_parameters(...)
# run a training episode
project.run_episode('episode_1')
# plot the results
project.plot_episodes(['episode_1'], metrics=['recall'])
# use the model trained in episode_1 to make a prediction for new data
project.run_prediction('prediction_1', episode_names=['episode_1'], data_path='path/to/new_data/folder')

How to get more information?

Check out the examples or read the documentation for a taste of what else you can do.

Acknowledgments

DLC2Action is developed by members of the A. Mathis Group at EPFL. We are grateful to many people for feedback, alpha-testing, suggestions and contributions, in particular to Liza Kozlova, Andy Bonnetto, Lucas Stoffl, Margaret Lane, Marouane Jaakik, Steffen Schneider and Mackenzie Mathis.

License:

Note that the software is provided "as is", without warranty of any kind, express or implied. If you use the code or data, please cite us!

Reference:

Stay tuned for our first publication -- any feedback on this beta release is welcome at this time. Thanks for using DLC2Action. Please reach out if you want to collaborate!

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •