DeepDIY: Deep Learning, Do It Yourself

made-with-python GitHub license Maintenance GitHub release GitHub stars GitHub downloads

Welcome to contact me: pubrcv@163.com

Introduction

This is an open source project to help people who are trying to use Deep Neural Network model for image processing but troubled by programming or computation resources. With DeepDIY, you can:

Quick Start

1. Load image file or folder

load local image files

2. Run a deep learning model

run_model

3. Train a model on own data

3.1 Edit the basic configuration of networks (eg. Number of classes)

train_config

3.2 Labeling images using VIA or other annotation tools

train_config

3.3 Pack data

​ DeepDIY will split your training data (image + anotation file) into train set and validation set. And then pack all of data (train set, validation set and config file) into a zip file name "dataset.zip"

train-pack

3.4 Train on colab

train-run

train-colab

train-evaluate

Installation


Executable Version:

  1. Download win64 portable version: https://github.com/deepdiy/deepdiy/releases

  2. Unzip and go to

      ./path_of_downloaded_package/deepdiy/DeepDIY.exe
  3. Double click DeepDIY.exe , Done!

    Source Code Version:

    Method 1:

  4. Clone this repository

  5. Run setup from the repository root directory

      python3 setup.py install

    Method 2:

  6. Clone this repository

  7. Install dependencies

      pip install -r requirements.txt
  8. Install kivy.garden.matplotlib

      garden install --kivy matplotlib

    Notice:

    For OS X users, you may need to install kivy and kivy-garden manually. The 'garden' command is available only after kivy-garden is installed successfully. Please refer to following page:

    https://kivy.org/doc/stable/installation/installation-osx.html

Model Zoo in DeepDIY

Most of mainstream deep learning network will be included in DeepDIY, including but not limited to:

DeepDIY encourage users to share new models and weights trained on their own data.

Training with Google Colab

You can train network on your own data without GPU, the training task in performed on Google Colab[https://colab.research.google.com/]. Free, fast, private and safe. Only one click, leave and drink a cup of coffee, done!

User-Friendly & Developer-Friendly

Kivy based GUI

Kivy[https://kivy.org/] is a coss-platform Python framework for GUI development. Very easy to understand and use.

Developing Plugins

The core of DeepDIY software is a resource tree, which is stored in a Python dictionary. For any plugin, DeepDIY will sync resource tree dict with plugin as a property(called 'data') of plugin class. There are two type of plugins: Processing and Display.

Processing plugins

Plugin can acquire data from tree, after running your functions, just insert result data as a child of selected node. Result can be displayed by Display plugins.

Display plugins

When user click a node in resouce tree, certain display plugin will be activated. Plugin can acquire selected data from the tree, and return a Kivy widget, the widget will be embedded in the window.

Authors

Peng Nie (Johnson)

Requirements

Python 3.7.1, Kivy 1.10.1, TensorFlow 1.13, Keras 2.2.4, OpenCV 4.0.0.21, Numpy 1.15.4, Scipy 1.1.0, Matplotlib 3.0.2

Licence

MIT is licensed under MIT license.