Giter VIP home page Giter VIP logo

dolphin's Introduction

OpenI Dolphin

Github Last Commit Documentation Status Python Version Repo Size


Documentation: https://open-dolphin.readthedocs.io


Introduction

Dolphin is an open-source computer vision algorithm framework in fields of Object Detection, Semantic Segmentation, Video Action Analysis, Mono Depth Estimation, Generative Adversarial Networks and Activate Learning.

Installation

The code was tested under environment of python 3.6, ubuntu 16.04 and CUDA 10.0+. It's recommended to create virtual environment using Conda:

conda create --name dolphin python=3.6

Then clone this repo and install the prerequisites by

pip install -r $(DOLPHIN_ROOT)/requirements.txt
(optional) pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

Last step is to install whole project with

python setup.py install (or develop)

Data Preparation

Firstly create a corresponding directory in the root dir of project, for example

mkdir $(DOLPHIN_ROOT)/data/depth

then run the data creating script at

$(DOLPHIN_ROOT)/scripts/depth/create.sh

to download dataset and pretrained models if needed. These paths should be assigned in the configuration file for training or testing.

NOTE: For task of activate learning, we use MNIST dataset which can be downloaded by torchvision automatically, so it's not necessary to run the create script for dataest, but in the configuration file the path of data_prefix should be set up to indicate the data location.

Quick Start

Import Modules:

In the file of

$(DOLPHIN_ROOT)/dolphin/utils/registry.py

the modules (or submodules) needed to import should be added to every module file lists.

For instance: as for the task of Depth Estimation, model modules include backbone, head and decoder, so their filename has been added to the list of MODEL_MODULES . And its algorithm module (the module that takes in charge of combination of every model module) and engine module (specific engine module which includes testing method) have also added into the list of ALGORITHM_MODULE and ENGINE_MODULE correspondingly. This step ensures all the components are callable for the algorithm.

NOTE: Configuration of importing modules can refer to file yaml (configuration file, located in dir $(DOLPHIN_ROOT)/dolphin/configs).

Configuration File:

It is also necessary to add parameters of every module into the configuration file, located in

$(DOLPHIN_ROOT)/dolphin/configs/

the FCRN algorithm for mono depth estimation is an example for it.

The hierarchy of configuraiton file consists of several four parts: engine, algorithm, data, runtime.

As the name suggests, the part of engine, algorithm and data are used for specifying corresponding modules. The rest part, runtime, serves as the role to controll workflow phase: learning rate, total epochs and work dir path can be put up here. Additionally, the file logger.yaml on configuration directory is used to set up the logger name, logger file path and so on.

Start Running:

After finishing above steps, it's quickly to run python $(DOLPHIN_ROOT)/dolphin/main.py --config $(CONFIGURATION FILE PATH) on the terminal to start the task.

License

This project is released under Open-Intelligence Open Source License V1.1.

Acknowledgement

This repo is mainly inspired by MMDetection, PaddlePaddle CV and Delta. We thanks the authors for the incredible work.

dolphin's People

Contributors

lin-yuxiang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.