本文适用于深度学习新手的“入门指导系列”,也有适用于老司机的论文代码实现,包括 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 入门系列
2 Vison 图像、视觉、CNN相关实现
简称 |
功能 |
分级 |
FCN |
Fully Convolutional Networks实现 |
Contributors |
Attention |
论文 "Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfer" 的PyTorch实现 |
Contributors |
Wide ResNet |
一个PyTorch实现的 ImageNet Classification |
Contributors |
CRNN |
这个是 Convolutional Recurrent Neural Network (CRNN) 的 PyTorch 实现。CRNN 由一些CNN,RNN和CTC组成,常用于基于图像的序列识别任务,例如场景文本识别和OCR |
Experts |
scattering network |
使用了“scattering network”的CNN实现,特别的构架提升了网络的效果 |
Contributors |
CSNs |
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 机器翻译、问答系统
简称 |
功能 |
分级 |
AllenNLP |
开源的NLP处理系统 |
Master |
PyTorch-NLP |
文本利用工具库和数据集 |
Experts |
quick-nlp |
基于FastAI的NLP库 |
Contributors |
ForNLP |
一套以 NLP 为主题的 PyTorch 基础教程。本教程使用Ipython Notebook编写,看起来很直观,方便学习 |
Expert |
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 |
一种从图像中检索文字的方法,来自论文:《VSE++: Improved Visual-Semantic Embeddings》 |
Contributors |
DrQA |
一个开放领域问答系统DrQA的PyTorch实现 |
Master |
Self-Attentive |
IBM 与 MILA 发表的《A Structured Self-Attentive Sentence Embedding》的开源实现 |
Contributors |
BERT |
Google BERT的pytorch实现版本 |
Experts |
pytorch text |
pytorch官方文本处理包 |
Experts |
MUSE |
监督和无监督词嵌入库 |
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语音
5. 时间序列处理
简称 |
功能 |
分级 |
Seq2Seq |
pytorch版本的Seq2Seq的基本模型 |
Contributors |
FairSeq |
Facebook 在机器翻译系统中使用 CNN,以便将大规模并行处理的优势发挥出来。在 CNN 中,计算不依赖于之前时间的信息,因此每个计算都是独立的,可以并行起来 |
Master |
WaveNet |
WaveNet是一个端到端的TTS(text to speech)模型。它是一个生成模型,类似于早期的pixel RNN和Pixel CNN,声音元素是一个点一个点生成的。在WaveNet中最重要的概念就是带洞因果卷积(dialated causal convolutions)了。用来处理多对一问题,在语音生成等方面有效果 |
Contributors |
WaveNet |
WaveNet |
Contributors |
TCN |
时间卷积网络(Temporal Convolutional Nets, TCNs)作为 CNN 家族中的一员健将,拥有许多新特性,如今已经在诸多主要应用领域中击败了 RNN。看起来 RNN 可能要成为历史了 |
Experts |
trellisnet |
TCN的后续版本,用来处理时间序列 |
Contributors |
anuvada |
使用PyTorch解释NLP的模型,揭开NLP处理过程的黑盒子 |
Contributors |
6. Gan 对抗生成网络、生成模型、GAN相关实现
简称 |
功能 |
分级 |
GANs |
一个非常简单的由PyTorch实现的对抗生成网络 |
Experts |
DCGAN & WGAN |
由中国网友实现的DCGAN和WGAN,代码很简洁 |
Contributors |
WGAN |
WGAN的官方PyTorch实现 |
Master |
DiscoGAN |
《Learning to Discover Cross-Domain Relations with Generative Adversarial Networks》的 PyTorch 实现 |
Experts |
AGE |
《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 深度强化学习相关实现
简称 |
功能 |
分级 |
Reinforcement |
多种使用PyTorch实现强化学习的方法 |
Contributors |
VIN |
Value Iteration Networks (VIN) 的PyTorch实现 |
Contributors |
A3C |
Adavantage async Actor-Critic (A3C) 的PyTorch实现 |
Contributors |
8. 通用神经网络高级应用
简称 |
功能 |
分级 |
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 |
ODIN |
这是一个能够检测“分布不足”(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. 医疗的应用
10. 概率生成库
简称 |
功能 |
分级 |
ptstat |
概率编程和统计库 |
Contributors |
pyro |
深度概率软件库,以帮助简化其交通服务的预测和优化 |
Master |
probtorch |
深度生成模型库 |
Contributors |
paysage |
无监督学习生成模型 |
Contributors |
pyvarinf: |
微分推理贝叶斯模型 |
Contributors |
pyprob |
概率编程 |
Contributors |
mia |
针对ML模型的推理攻击 |
Contributors |
11. 工具库
参考文献:
关于分级仅仅代表该文对于个人学习的重要程度,不代表论文本身质量和水平,切记!无意冒犯各路大神,如有不妥敬请批评指正
作者:readilen
链接:https://www.jianshu.com/p/4531c1992106
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。