Skip to content

Python library and dashboard for hyperparameter search and model training for computer vision tasks based on PyTorch, Optuna, FiftyOne, Dash, Segmentation Model Pytorch.

License

Notifications You must be signed in to change notification settings

AsakoKabe/AdeleCV

Repository files navigation

drawing

Auto DEep LEarning Computer Vision

Python library and dashboard for hyperparameter search and model training for computer vision tasks based on PyTorch, Optuna, FiftyOne, Dash, Segmentation Model Pytorch.

Generic badge Read the Docs GitHub Workflow Status (branch)

PyPI PyPI - Downloads

The main features of this library are:

  • Fiftyone dataset integration with prediction visualization
  • Uploading your dataset in one of the popular formats, currently supported - 2
  • Adding your own python class for convert dataset
  • Displaying training statistics in tensorboard
  • Support for all samples from optuna
  • Segmentation use smp: 9 model architectures, popular losses and metrics, see doc smp
  • Convert weights to another format, currently supported - 1 (onnx)

Visit Read The Docs Project Page or read following README to know more about Auto Deap Learning Computer Vision (AdeleCV for short) library

📋 Table of content

  1. Examples
  2. Installation
  3. Instruction Dashboard
  4. Architecture
  5. Citing
  6. License

💡 Examples

  • Example api notebook
  • See video on the example of using dashboard

🛠 Installation

Install torch cuda if not installed:

$ pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

PyPI version:

$ pip install adelecv

Poetry:

$ poetry add adelecv

📜 Instruction Dashboard

  1. Create .env file.

See docs.

Notification_LEVEL: DEBUG | INFO | ERROR

Example:

TMP_PATH='./tmp'
DASHBOARD_PORT=8080
FIFTYONE_PORT=5151
TENSORBOARD_PORT=6006
NOTIFICATION_LEVEL=DEBUG
  1. Run (about 30 seconds (I'm working on acceleration)).
adelecv_dashboard --envfile .env
  1. Help
adelecv_dashboard --help

🏰 Architecture

architecture

The user can use the api or dashboard(web app). The api is based on 5 modules:

  • data: contains an internal representation of the dataset, classes for converting datasets, fiftyone dataset
  • _models: torch model, its hyperparams, functions for training
  • optimize: set of hyperparams, optuna optimizer
  • modification model: export and conversion of weights
  • logs: python logging

The Dash library was used for dashboard. It is based on components and callbacks on these component elements.

📝 Citing

@misc{Mamatin:2023,
  Author = {Denis Mamatin},
  Title = {AdeleCV},
  Year = {2023},
  Publisher = {GitHub},
  Journal = {GitHub repository},
  Howpublished = {\url{https://github.com/AsakoKabe/AdeleCV}}
}

🛡️ License

Project is distributed under MIT License

About

Python library and dashboard for hyperparameter search and model training for computer vision tasks based on PyTorch, Optuna, FiftyOne, Dash, Segmentation Model Pytorch.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published