• Stars
    star
    5,821
  • Rank 6,972 (Top 0.2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Gluon CV Toolkit

Gluon CV Toolkit

Build Status GitHub license PyPI PyPI Pre-release Downloads

PWC PWC PWC PWC PWC

| Installation | Documentation | Tutorials |

GluonCV provides implementations of the state-of-the-art (SOTA) deep learning models in computer vision.

It is designed for engineers, researchers, and students to fast prototype products and research ideas based on these models. This toolkit offers four main features:

  1. Training scripts to reproduce SOTA results reported in research papers
  2. Supports both PyTorch and MXNet
  3. A large number of pre-trained models
  4. Carefully designed APIs that greatly reduce the implementation complexity
  5. Community supports

Please also checkout AutoGluon if you have image classification or object detection needs. We have built the MultimodalPredictor with an improved model zoo, including TIMM, Huggingface, MMDetection and more. With just a few lines of code, you can train and deploy high accuracy computer vision models for your application.

Demo


Check the HD video at Youtube or Bilibili.

Supported Applications

Application Illustration Available Models
Image Classification:
recognize an object in an image.
classification 50+ models, including
ResNet, MobileNet,
DenseNet, VGG, ...
Object Detection:
detect multiple objects with their
bounding boxes in an image.
detection Faster RCNN, SSD, Yolo-v3
Semantic Segmentation:
associate each pixel of an image
with a categorical label.
semantic FCN, PSP, ICNet, DeepLab-v3, DeepLab-v3+, DANet, FastSCNN
Instance Segmentation:
detect objects and associate
each pixel inside object area with an
instance label.
instance Mask RCNN
Pose Estimation:
detect human pose
from images.
pose Simple Pose
Video Action Recognition:
recognize human actions
in a video.
action_recognition MXNet: TSN, C3D, I3D, I3D_slow, P3D, R3D, R2+1D, Non-local, SlowFast
PyTorch: TSN, I3D, I3D_slow, R2+1D, Non-local, CSN, SlowFast, TPN
Depth Prediction:
predict depth map
from images.
depth Monodepth2
GAN:
generate visually deceptive images
lsun WGAN, CycleGAN, StyleGAN
Person Re-ID:
re-identify pedestrians across scenes
re-id Market1501 baseline

Installation

GluonCV is built on top of MXNet and PyTorch. Depending on the individual model implementation(check model zoo for the complete list), you will need to install either one of the deep learning framework. Of course you can always install both for the best coverage.

Please also check installation guide for a comprehensive guide to help you choose the right installation command for your environment.

Installation (MXNet)

GluonCV supports Python 3.6 or later. The easiest way to install is via pip.

Stable Release

The following commands install the stable version of GluonCV and MXNet:

pip install gluoncv --upgrade
# native
pip install -U --pre mxnet -f https://dist.mxnet.io/python/mkl
# cuda 10.2
pip install -U --pre mxnet -f https://dist.mxnet.io/python/cu102mkl

The latest stable version of GluonCV is 0.8 and we recommend mxnet 1.6.0/1.7.0

Nightly Release

You may get access to latest features and bug fixes with the following commands which install the nightly build of GluonCV and MXNet:

pip install gluoncv --pre --upgrade
# native
pip install -U --pre mxnet -f https://dist.mxnet.io/python/mkl
# cuda 10.2
pip install -U --pre mxnet -f https://dist.mxnet.io/python/cu102mkl

There are multiple versions of MXNet pre-built package available. Please refer to mxnet packages if you need more details about MXNet versions.

Installation (PyTorch)

GluonCV supports Python 3.6 or later. The easiest way to install is via pip.

Stable Release

The following commands install the stable version of GluonCV and PyTorch:

pip install gluoncv --upgrade
# native
pip install torch==1.6.0+cpu torchvision==0.7.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
# cuda 10.2
pip install torch==1.6.0 torchvision==0.7.0

There are multiple versions of PyTorch pre-built package available. Please refer to PyTorch if you need other versions.

The latest stable version of GluonCV is 0.8 and we recommend PyTorch 1.6.0

Nightly Release

You may get access to latest features and bug fixes with the following commands which install the nightly build of GluonCV:

pip install gluoncv --pre --upgrade
# native
pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
# cuda 10.2
pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cu102/torch_nightly.html

Docs 📖

GluonCV documentation is available at our website.

Examples

All tutorials are available at our website!

Resources

Check out how to use GluonCV for your own research or projects.

Citation

If you feel our code or models helps in your research, kindly cite our papers:

@article{gluoncvnlp2020,
  author  = {Jian Guo and He He and Tong He and Leonard Lausen and Mu Li and Haibin Lin and Xingjian Shi and Chenguang Wang and Junyuan Xie and Sheng Zha and Aston Zhang and Hang Zhang and Zhi Zhang and Zhongyue Zhang and Shuai Zheng and Yi Zhu},
  title   = {GluonCV and GluonNLP: Deep Learning in Computer Vision and Natural Language Processing},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {23},
  pages   = {1-7},
  url     = {http://jmlr.org/papers/v21/19-429.html}
}

@article{he2018bag,
  title={Bag of Tricks for Image Classification with Convolutional Neural Networks},
  author={He, Tong and Zhang, Zhi and Zhang, Hang and Zhang, Zhongyue and Xie, Junyuan and Li, Mu},
  journal={arXiv preprint arXiv:1812.01187},
  year={2018}
}

@article{zhang2019bag,
  title={Bag of Freebies for Training Object Detection Neural Networks},
  author={Zhang, Zhi and He, Tong and Zhang, Hang and Zhang, Zhongyue and Xie, Junyuan and Li, Mu},
  journal={arXiv preprint arXiv:1902.04103},
  year={2019}
}

@article{zhang2020resnest,
  title={ResNeSt: Split-Attention Networks},
  author={Zhang, Hang and Wu, Chongruo and Zhang, Zhongyue and Zhu, Yi and Zhang, Zhi and Lin, Haibin and Sun, Yue and He, Tong and Muller, Jonas and Manmatha, R. and Li, Mu and Smola, Alexander},
  journal={arXiv preprint arXiv:2004.08955},
  year={2020}
}

More Repositories

1

xgboost

Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
C++
26,028
star
2

dgl

Python package built to ease deep learning on graph, on top of existing DL frameworks.
Python
13,511
star
3

gluon-nlp

NLP made easy
Python
2,553
star
4

decord

An efficient video loader for deep learning with smart shuffling that's super easy to digest
C++
1,772
star
5

nnvm

C++
1,657
star
6

ps-lite

A lightweight parameter server interface
C++
1,525
star
7

minpy

NumPy interface with mixed backend execution
Python
1,109
star
8

mshadow

Matrix Shadow:Lightweight CPU/GPU Matrix and Tensor Template Library in C++/CUDA for (Deep) Machine Learning
C++
1,106
star
9

cxxnet

move forward to https://github.com/dmlc/mxnet
C++
1,025
star
10

dlpack

common in-memory tensor structure
Python
885
star
11

dmlc-core

A common bricks library for building scalable and portable distributed machine learning.
C++
862
star
12

treelite

Universal model exchange and serialization format for decision tree forests
C++
729
star
13

minerva

Minerva: a fast and flexible tool for deep learning on multi-GPU. It provides ndarray programming interface, just like Numpy. Python bindings and C++ bindings are both available. The resulting code can be run on CPU or GPU. Multi-GPU support is very easy.
C++
698
star
14

parameter_server

moved to https://github.com/dmlc/ps-lite
C++
648
star
15

mxnet-notebooks

Notebooks for MXNet
Jupyter Notebook
615
star
16

rabit

Reliable Allreduce and Broadcast Interface for distributed machine learning
C++
505
star
17

mxnet.js

MXNetJS: Javascript Package for Deep Learning in Browser (without server)
JavaScript
435
star
18

MXNet.jl

MXNet Julia Package - flexible and efficient deep learning in Julia
371
star
19

tensorboard

Standalone TensorBoard for visualizing in deep learning
Python
369
star
20

wormhole

Deprecated
C++
338
star
21

mxnet-memonger

Sublinear memory optimization for deep learning, reduce GPU memory cost to train deeper nets
Python
308
star
22

difacto

Distributed Factorization Machines
C++
296
star
23

XGBoost.jl

XGBoost Julia Package
Julia
288
star
24

mxnet-model-gallery

Pre-trained Models of DMLC Project
266
star
25

GNNLens2

Visualization tool for Graph Neural Networks
TypeScript
232
star
26

HalideIR

Symbolic Expression and Statement Module for new DSLs
C++
205
star
27

mxnet-gtc-tutorial

MXNet Tutorial for NVidia GTC 2016.
Jupyter Notebook
131
star
28

experimental-lda

C++
127
star
29

MXNet.cpp

C++ interface for mxnet
C++
114
star
30

experimental-mf

cache-friendly multithread matrix factorization
C++
87
star
31

web-data

The repo to host all the web data including images for documents in dmlc projects.
Jupyter Notebook
83
star
32

nnvm-fusion

Kernel Fusion and Runtime Compilation Based on NNVM
C++
70
star
33

dmlc.github.io

HTML
27
star
34

tl2cgen

TL2cgen (TreeLite 2 C GENerator) is a model compiler for decision tree models
C++
21
star
35

cub

Cuda
19
star
36

mxnet-deepmark

Benchmark speed and other issues internally, before push to deep-mark
Python
7
star
37

mxnet-examples

MXNet Example
6
star
38

xgboost-bench

Python
4
star
39

drat

Drat Repository for DMLC R packages
4
star
40

nn-examples

1
star
41

gluon-nlp-notebooks

1
star
42

docs-redirect-for-mxnet

redirect mxnet.readthedocs.io to mxnet.io
Python
1
star