GitHub - donnyyou/torchcv: A PyTorch-Based Framework for Deep Learning in Comput...
source link: https://github.com/donnyyou/torchcv
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
TorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision
@misc{you2019torchcv,
author = {Ansheng You and Xiangtai Li and Zhen Zhu and Yunhai Tong},
title = {TorchCV: A PyTorch-Based Framework for Deep Learning in Computer Vision},
howpublished = {\url{https://github.com/donnyyou/torchcv}},
year = {2019}
}
This repository provides source code for most deep learning based cv problems. We'll do our best to keep this repository up-to-date. If you do find a problem about this repository, please raise an issue or submit a pull request.
Implemented Papers
-
- VGG: Very Deep Convolutional Networks for Large-Scale Image Recognition
- ResNet: Deep Residual Learning for Image Recognition
- DenseNet: Densely Connected Convolutional Networks
- ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
- ShuffleNet V2: Practical Guidelines for Ecient CNN Architecture Design
- Partial Order Pruning: for Best Speed/Accuracy Trade-off in Neural Architecture Search
-
- DeepLabV3: Rethinking Atrous Convolution for Semantic Image Segmentation
- PSPNet: Pyramid Scene Parsing Network
- DenseASPP: DenseASPP for Semantic Segmentation in Street Scenes
- Asymmetric Non-local Neural Networks for Semantic Segmentation
-
- SSD: Single Shot MultiBox Detector
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- YOLOv3: An Incremental Improvement
- FPN: Feature Pyramid Networks for Object Detection
-
- CPM: Convolutional Pose Machines
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
-
- Mask R-CNN
-
Generative Adversarial Networks
- Pix2pix: Image-to-Image Translation with Conditional Adversarial Nets
- CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks.
QuickStart with TorchCV
Now only support Python3.x, pytorch 1.0.
pip3 install -r requirements.txt
cd extensions
sh make.sh
Performances with TorchCV
All the performances showed below fully reimplemented the papers' results.
Image Classification
- ImageNet (Center Crop Test): 224x224
Semantic Segmentation
- Cityscapes (Single Scale Whole Image Test): Base LR 0.01, Crop Size 769
- ADE20K (Single Scale Whole Image Test): Base LR 0.02, Crop Size 520
Object Detection
- Pascal VOC2007/2012 (Single Scale Test): 20 Classes
Pose Estimation
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
Instance Segmentation
- Mask R-CNN
Generative Adversarial Networks
- Pix2pix
- CycleGAN
DataSets with TorchCV
TorchCV has defined the dataset format of all the tasks which you could check in the subdirs of datasets. Following is an example dataset directory trees for training semantic segmentation. You could preprocess the open datasets with the scripts in folder datasets/seg/preprocess
DataSet
train
image
00001.jpg/png
00002.jpg/png
...
label
00001.png
00002.png
...
val
image
00001.jpg/png
00002.jpg/png
...
label
00001.png
00002.png
...
Commands with TorchCV
Take PSPNet as an example. ("tag" could be any string, include an empty one.)
- Training
cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh train tag
- Resume Training
cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh train tag
- Validate
cd scripts/seg/cityscapes/
bash run_fs_pspnet_cityscapes_seg.sh val tag
- Testing:
cd scripts/seg/cityscapes/ bash run_fs_pspnet_cityscapes_seg.sh test tag
Demos with TorchCV
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK