本文适用于深度学习新手的“入门指导系列”,也有适用于老司机的论文代码实现,包括 Attention Based CNN、A3C、WGAN、BERT等等。所有代码均按照所属技术领域分类,包括机器视觉/图像相关、自然语言处理相关、强化学习相关等等。所以如果你打算入手这风行一世的 PyTorch 技术,那么就快快收藏本文吧!或者关注github
https://github.com/inessus/pytorch_awesome.git
PyTorch 是什么?
PyTorch即 Torch 的 Python 版本。Torch 是由 Facebook 发布的深度学习框架,因支持动态定义计算图,相比于 Tensorflow 使用起来更为灵活方便,特别适合中小型机器学习项目和深度学习初学者。但因为 Torch 的开发语言是Lua,导致它在国内一直很小众。所以,在千呼万唤下,PyTorch应运而生!PyTorch 继承了 Troch 的灵活特性,又使用广为流行的 Python 作为开发语言,所以一经推出就广受欢迎!
Vison 图像、视觉、CNN相关实现
Text NLP 机器翻译、问答系统
Speech语音
时间序列处理
Gan 对抗生成网络、生成模型、GAN相关实现
RL 深度强化学习相关实现
通用神经网络高级应用
医疗的应用
1 入门系列
a 60-minute
PyTorch官网推荐的由网友提供的60分钟教程,本系列教程的重点在于介绍PyTorch的基本原理,包括自动求导,神经网络,以及误差优化API
Novices
pytorch-examples
由网友提供的PyTorch教程,通过一些实例的方式,讲解PyTorch的基本原理。内容涉及Numpy、自动求导、参数优化、权重共享等
Contributors
Ten minutes
知乎上“十分钟学习PyTorch“系列教程的源码
Contributors
Official PyTorch Examples
官方提供的实例源码
Contributors
pytorch-tutorial
据说是提供给深度学习科研者们的PyTorch教程←_←。教程中的每个实例的代码都控制在30行左右,简单易懂
Contributors
playground
PyTorch初学者的Playground,在这里针对一下常用的数据集,已经写好了一些模型,所以大家可以直接拿过来玩玩看,目前支持以下数据集的模型
Experts
2 Vison 图像、视觉、CNN相关实现
Attention
论文 "Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer" 的PyTorch实现
Contributors
Wide ResNet
一个PyTorch实现的 ImageNet Classification
Contributors
这个是 Convolutional Recurrent Neural Network (CRNN) 的 PyTorch 实现。CRNN 由一些CNN,RNN和CTC组成,常用于基于图像的序列识别任务,例如场景文本识别和OCR
Experts
scattering network
使用了“scattering network”的CNN实现,特别的构架提升了网络的效果
Contributors
Conditional Similarity Networks》的PyTorch实现
Contributors
MSG-Net
MSG-Net 以及 Neural Style 的 PyTorch 实现
Contributors
Big batch training
《Train longer, generalize better: closing the generalization gap in large batch training of neural networks》的 PyTorch 实现
Contributors
CortexNet
一个使用视频训练的鲁棒预测深度神经网络
Contributors
Quantum Chemistry
论文《Neural Message Passing for Quantum Chemistry》的PyTorch实现,好像是讲计算机视觉下的神经信息传递
Experts
MUTAN
一个PyTorch实现的优秀视觉推理问答系统,是基于论文《MUTAN: Multimodal Tucker Fusion for Visual Question Answering》实现的。项目中有详细的配置使用方法说明
Contributors
Clevr-IEP
Facebook Research 论文《Inferring and Executing Programs for Visual Reasoning》的PyTorch实现,讲的是一个可以基于图片进行关系推理问答的网络
Contributors
OpenNMT
开源的自然语言处理框架
Masters
NeuralCoref
自然语言处理包spaCy的扩展,用于指代消解
Contributors
img_classification_pk_pytorch
Contributors
SparseConvNet
流行稀疏卷积
Contributors
Convolution_LSTM_pytorch
多层卷积LSTM模块
Contributors
face-alignment
2D,3D面部识别库
Mastar
3 Text NLP 机器翻译、问答系统
RNN & NLP
以 RNN for NLP 为出发点的 PyTorch 基础教程,分为“RNNs for NLP”和“RNNs for timeseries data”两个部分
Master
PyOpenNMT
一套由PyTorch实现的机器翻译系统
Master
Negotiation Dialogues
Facebook AI Research 论文《Deal or No Deal? End-to-End Learning for Negotiation Dialogues》的 PyTorch 实现
Experts
Attention
Google Research 著名论文《Attention is all you need》的PyTorch实现
Master
一种从图像中检索文字的方法,来自论文:《VSE++: Improved Visual-Semantic Embeddings》
Contributors
一个开放领域问答系统DrQA的PyTorch实现
Master
Self-Attentive
IBM 与 MILA 发表的《A Structured Self-Attentive Sentence Embedding》的开源实现
Contributors
Google BERT的pytorch实现版本
Experts
pytorch text
pytorch官方文本处理包
Experts
监督和无监督词嵌入库
Experts
nmtpytorch
神经机器翻译框架
Contributors
LASER
Contributors
gensen
通过大规模多任务学习通用分布式句子表示
Contributors
translate
Experts
pythia
可视问答系统
Experts
UnsupervisedMT
无监督神经机器翻译
Experts
jiant
语义表示工具包
Contributors
InferSent
Experts
pytorch-semantic-segmentation
Contributors
RoIAlign.pytorch
RolAlign预训练卷积网络
Contributors
finetune
调优CNN
Contributors
detectorch
Detectorch
Contributors
Augmentor
图形增益库
Master
s2cnn
This library contains a PyTorch implementation of the SO(3) equivariant CNNs for spherical signals (e.g. omnidirectional cameras, signals on the globe)
Contributors
PyTorchCV
计算机视觉的深度库
Contributors
maskrcnn-benchmark
maskrcnn-benchmark
Master
4. Speech语音
FairSeq
Facebook 在机器翻译系统中使用 CNN,以便将大规模并行处理的优势发挥出来。在 CNN 中,计算不依赖于之前时间的信息,因此每个计算都是独立的,可以并行起来
Master
WaveNet
WaveNet是一个端到端的TTS(text to speech)模型。它是一个生成模型,类似于早期的pixel RNN和Pixel CNN,声音元素是一个点一个点生成的。在WaveNet中最重要的概念就是带洞因果卷积(dialated causal convolutions)了。用来处理多对一问题,在语音生成等方面有效果
Contributors
WaveNet
WaveNet
Contributors
时间卷积网络(Temporal Convolutional Nets, TCNs)作为 CNN 家族中的一员健将,拥有许多新特性,如今已经在诸多主要应用领域中击败了 RNN。看起来 RNN 可能要成为历史了
Experts
trellisnet
TCN的后续版本,用来处理时间序列
Contributors
anuvada
使用PyTorch解释NLP的模型,揭开NLP处理过程的黑盒子
Contributors
6. Gan 对抗生成网络、生成模型、GAN相关实现
DiscoGAN
《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的 PyTorch 实现
Experts
《Adversarial Generator-Encoder Networks》的 PyTorch 实现
Contributors
CycleGAN pix2pix
图到图的翻译,著名的 CycleGAN 以及 pix2pix 的PyTorch 实现
Grandmaster
GAN-weight-norm
《On the Effects of Batch and Weight Normalization in Generative Adversarial Networks》的 PyTorch 实现
Contributors
7. RL 深度强化学习相关实现
meta-optimizer
论文《Learning to learn by gradient descent by gradient descent》的PyTorch实现
Contributors
OptNet
论文《Differentiable Optimization as a Layer in Neural Networks》的PyTorch实现
Contributors
Task-based End-to-end
论文《Task-based End-to-end Model Learning》的实现
Contributors
DiracNets
不使用“Skip-Connections”而搭建特别深的神经网络的方法
Experts
这是一个能够检测“分布不足”(Out-of-Distribution)样本的方法的PyTorch实现。当“true positive rate”为95%时,该方法将DenseNet(适用于CIFAR-10)的“false positive rate”从34.7%降至4.3%
Experts
FreezeOut
一种使用“progressively freezing layers”来加速神经网络训练的方法
Contributors
Efficient densenet pytorch
DenseNets的PyTorch实现,优化以节省GPU内存
Experts
9. 医疗的应用
beauty-net
A simple, flexible, and extensible template for PyTorch. It's beautiful.
Contributors
OpenChem
Contributors
torchani
Accurate Neural Network Potential
Contributors
PyTorch-LBFGS
A PyTorch implementation of L-BFGS
Experts
gpytorch
高校的高斯处理模块
Experts
hessian
hessian
Contributors
速度在深度学习研究
Contributors
nonechucks
datasets, samplers, and transforms
Contributors
torchstat
Model analyzer in PyTorch
Contributors
QNNPACK
Quantized Neural Network PACKage
Contributors
torchdiffeq
Differentiable ODE
Contributors
redner
A differentiable Monte Carlo path tracer
Contributors
pixyz
a library for developing deep generative models in a more concise, intuitive and extendable way
Contributors
euclidesdb
A multi-model machine learning feature embedding database
Contributors
参考文献: