StacyYang / gluoncv-torch

PyTorch API for GluonCV Models
MIT License
535 stars 62 forks source link

PyPI PyPI Pre-release Upload Python Package Downloads

PyTorch-Encoding

GluonCV-Torch

Load GluonCV Models in PyTorch. Simply import gluoncvth to getting better pretrained model than torchvision:

import gluoncvth as gcv
model = gcv.models.resnet50(pretrained=True)

Installation:

pip install gluoncv-torch

Available Models

ImageNet

ImageNet models single-crop error rates, comparing to the torchvision models:

torchvision gluoncvth
Model Top-1 error Top-5 error Top-1 error Top-5 error
ResNet18 30.24 10.92 29.06 10.17
ResNet34 26.70 8.58 25.35 7.92
ResNet50 23.85 7.13 22.33 6.18
ResNet101 22.63 6.44 20.80 5.39
ResNet152 21.69 5.94 20.56 5.39
Inception v3 22.55 6.44 21.33 5.61

More models available at GluonCV Image Classification ModelZoo

Semantic Segmentation

Results on Pascal VOC dataset:

Model Base Network mIoU
FCN ResNet101 83.6
PSPNet ResNet101 85.1
DeepLabV3 ResNet101 86.2

Results on ADE20K dataset:

Model Base Network PixAcc mIoU
FCN ResNet101 80.6 41.6
PSPNet ResNet101 80.8 42.9
DeepLabV3 ResNet101 81.1 44.1

Quick Demo

import torch
import gluoncvth

# Get the model
model = gluoncvth.models.get_deeplab_resnet101_ade(pretrained=True)
model.eval()

# Prepare the image
url = 'https://github.com/zhanghang1989/image-data/blob/master/encoding/' + \
    'segmentation/ade20k/ADE_val_00001142.jpg?raw=true'
filename = 'example.jpg'
img = gluoncvth.utils.load_image(
    gluoncvth.utils.download(url, filename)).unsqueeze(0)

# Make prediction
output = model.evaluate(img)
predict = torch.max(output, 1)[1].cpu().numpy() + 1

# Get color pallete for visualization
mask = gluoncvth.utils.get_mask_pallete(predict, 'ade20k')
mask.save('output.png')

More models available at GluonCV Semantic Segmentation ModelZoo

API Reference

ResNet

FCN

PSPNet

DeepLabV3

Why GluonCV?

1. State-of-the-art Implementations

2. Pretrained Models and Tutorials

3. Community Support

We expect this PyTorch inference API for GluonCV models will be beneficial to the entire computer vision comunity.