Página de Material sobre PyTorch
Contents
Tutoriais
Instalando PyTorch em Linux
PyTorch é ultrafácil de instalar, por isso não vamos dedicar uma página à instalação: simplesmente vá para https://pytorch.org/ e selecione sua configuração. O site gerará uma linha de comando de instalação adequada.
Eu, por exemplo, se eu tenho Ubuntu 16.04 atualizadíssimo, com Python 3.6 e Cuda 9.2, a linha de comando será:
conda install pytorch torchvision cuda92 -c pytorch
Se você já instalou Ubuntu 16.04 com Python 3.5 e Cuda 9.0 para compatibilidade com TensorFlow, então a sua linha de comando será:
conda install pytorch torchvision cuda90 -c pytorch
Para processamento de imagens e Visão Computacional com PyTorch estremos utilizando dois conjuntos de recursos:
Vamos ver adiante o que é cada um:
Torchvision
torchvision é um pacote de PyTorch que consiste de uma coleção de datasets populares, arquiteturas de diversos modelos, prontas para uso e uma biblioteca de transformações sobre imagens úteis para treinar CNNs para Visão Computacional.
- Página principal de torchvision
- Modelos prontos em torchvision. Atualmente torchvision (v.0.4.1 – Outubro de 2018) tem os seguntes modelos implementados:
Fast.AI
fast.ai – “Making neural nets uncool again”, segundo seus criadores, Jeremy Howard e Rachel Thomas, é uma iniciativa dedicada a tornar o poder do Aprendizado Profundo acessível a todos. Para tanto, argumentam que, para esse potencial ser atingido, a tecnologia tem de ser muito mais acessível, intuitiva e fácil de usar do que é hoje. Para isso fast.ai oferece um framework eduicacional de DL e uma biblioteca de alto nível, baseada em PyTorch que objetiva tornar muito mais fácil desenvolver novas aplicações em DL.
Material:
- fastai v1 for PyTorch: Fast and accurate neural nets using modern best practices
- Introduction to Machine Learning for Coders: Launch
- Documentação: http://docs.fast.ai/
- Mostra como treinar um dataset MNIST usando resnet18
- Github com o Jupyter do exemplo acima: https://github.com/fastai/fastai/blob/master/examples/vision.ipynb
- fast.ai implementa vários modelos que não estão à disposição na biblioteca de modelos padrão do PyTorch: http://docs.fast.ai/vision.models.html
- Darknet architecture, which is the base of Yolo v3
- Unet (segmentação para a áea médica!) architecture based on a pretrained model. The original unet is described here, the model implementation is detailed in
models.unet
- Wide resnets architectures, as introduced in this article.
Hiromi Suenaga publicou uma série de comentários e toques adicionais sobre os dois capítulos do Curso de Deep Learning com Jupyters de fast.ai. Possuem muitos insights e toques úteis, além de discutir detalhes da implementação de fast.ai que não estão nas aulas originais:
Tutoriais de Aplicações com Pytorch
- PyTorch Official Tutorials
- fast.ai: Recognizing cats and dogs
- Day 24: How to build a Deep Learning Image Classifier for Game of Thrones dragons
- Towards Data Science: ResNet for Traffic Sign Classification With PyTorch
Links
Model Zoos e Redes Prontas
- PyTorch – pretrained torchvision examples
- Model Zoo com Pretrained ConvNets for pytorch: NASNet, ResNeXt, ResNet, InceptionV4, InceptionResnetV2, Xception, DPN, etc:
- AlexNet
- BNInception
- CaffeResNet101
- DenseNet121
- DenseNet161
- DenseNet169
- DenseNet201
- DenseNet201
- DualPathNet68
- DualPathNet92
- DualPathNet98
- DualPathNet107
- DualPathNet113
- FBResNet152
- InceptionResNetV2
- InceptionV3
- InceptionV4
- NASNet-A-Large
- NASNet-A-Mobile
- PNASNet-5-Large
- PolyNet
- ResNeXt101_32x4d
- ResNeXt101_64x4d
- ResNet101
- ResNet152
- ResNet18
- ResNet34
- ResNet50
- SENet154
- SE-ResNet50
- SE-ResNet101
- SE-ResNet152
- SE-ResNeXt50_32x4d
- SE-ResNeXt101_32x4d
- SqueezeNet1_0
- SqueezeNet1_1
- VGG11
- VGG13
- VGG16
- VGG19
- VGG11_BN
- VGG13_BN
- VGG16_BN
- VGG19_BN
- Xception
Segmentação:
- Geral, diversos modelos: https://github.com/warmspringwinds/pytorch-segmentation-detection
UNet:
SegNet:
DeepLab:
FCN:
- https://github.com/ZijunDeng/pytorch-semantic-segmentation
- https://github.com/wkentaro/pytorch-fcn
- https://github.com/ycszen/pytorch-seg
- https://github.com/Kaixhin/FCN-semantic-segmentation
ENet:
DilatedNet:
- https://github.com/fyu/drn#semantic-image-segmentataion
- https://github.com/hangzhaomit/semantic-segmentation-pytorch
…e vários outros. Você vai achar uma compilação aqui: https://github.com/mrgloom/awesome-semantic-segmentation
Copyright © 2018 Aldo von Wangenheim/INCoD/Universidade Federal de Santa Catarina