新手必备 | 史上最全的PyTorch学习资源汇总

【磐创 AI 导读】之前的文章中,我们总结了适合新手快速入门的 Tensorflow 学习资源汇总 ,今天我们将为大家介绍另一个深度学习框架 PyTorch 的学习资源,非常适合新手学习,建议大家收藏。也欢迎大家点击上方蓝字关注我们的公众号 磐创 AI ,学习更多机器学习、深度学习知识。

目录:

  • PyTorch 学习教程、手册

  • PyTorch 视频教程


  • PyTorch

    项目资源


         – 
    NLP&PyTorch

    实战


         – 
    CV&PyTorch
    实战

  • PyTorch 论文推荐

  • Pytorch 书籍推荐

一、PyTorch 学习教程、手册

1 PyTorch 英文版官方手册: https://pytorch.org/tutorials/ 。对于英文比较好的同学,非常推荐该 PyTorch 官方文档, 一步步带你从入门到精通。该 文档详细的介绍了从基础知识到如何使用 PyTorch 构建深层神经网络,以及 PyTorch 语法和一些高质量的案例。

2 PyTorch 中文官方文档: https://pytorch-cn.readthedocs.io/zh/latest/。阅读上述英文文档比较困难的同学也不要紧,我们为大家准备了比较官方的 PyTorch 中文文档,文档非常详细的介绍了各个函数,可作为一份 PyTorch 的速查宝典。

3 )这是一个比较偏算法实战的 PyTorch 代码教程,在 github 上有很高的 star https://github.com/yunjey/pytorch-tutorial。 建议大家在阅读本文档之前,先学习上述两个 PyTorch 基础教程。

4 )接下来为大家介绍一本开源书籍: https://github.com/zergtant/pytorch-handbook。

这是一本开源的书籍,目标是帮助那些希望和使用PyTorch进行深度学习开发和研究的朋友快速入门。但本文档不是内容不是很全,还在持续更新中。

(5)最后,为大家推荐一个简单易上手的PyTorch中文文档,非常适合新手学习:

https://github.com/fendouai/pytorch1.0-cn 。该文档从介绍什么是PyTorch开始,到神经网络、PyTorch的安装,再到图像分类器、数据并行处理,非常详细的介绍了PyTorch的知识体系,适合新手的学习入门。该文档的官网:http://pytorchchina.com。

二、PyTorch 视频教程

(1) 首推的是 B 站中近期点击率非常高的一个 PyTorch 视频教程: https://www.bilibili.com/video/av31914351/,虽然视频内容只有八集,但讲的深入浅出,十分精彩。只是没有中文字幕,小伙伴们是该练习一下英文了…

(2)另外一个国外大佬的视频教程,在YouTube上有很高的点击率,也是纯英文的视频:https://www.youtube.com/watch?v=SKq-pmkekTk,有没有觉得外国的教学视频不管是多么复杂的问题都能讲的很形象很简单?

(3)接下来,不得不给大家安利一下莫烦老师的PyTorch视频教程了,https://morvanzhou.github.io/tutorials/machine-learning/torch/。相信莫烦老师大家应该很熟了,他的Python、深度学习的系列视频在B站和YouTube上均有很高的点击率,该PyTorch视频教程也是去年刚出不久,推荐给新手朋友。

(4)人工智能101学院的PyTorch系列视频课程,讲的比较详细、覆盖的知识点也比较广,https://www.bilibili.com/video/av49008640/,感兴趣的朋友可以试听一下。

(5)最后,向大家推荐的是国内领先的人工智能教育平台 —— 七月在线的PyTorch入门与实战系列课:https://www.julyedu.com/course/getDetail/140/。课程虽然是收费课程,但课程包含PyTorch语法、深度学习基础、词向量基础、NLP和CV的项目应用、实战等,理论和实战相结合,确实比其它课程讲的更详细,推荐给大家。

三、NLP&PyTorch 实战

(1)Pytorch text

https://github.com/pytorch/text ): Torchtext 是一个非常好用的库,可以帮助我们很好的解决文本的预处理问题。此 github 存储库包含两部分:

  • torchText.data :文本的通用数据加载器、抽象和迭代器(包括词汇和词向量)

  • torchText.datasets :通用 NLP 数据集的预训练加载程序

我们只需要通过 pip install torchtext 安装好 torchtext 后,便可以开始体验 Torchtext  的种种便捷之处。

(2) Pytorch-Seq2seq

https://github.com/IBM/pytorch-seq2seq ): Seq2seq 是一个快速发展的领域,新技术和新框架经常在此发布。这个库是在 PyTorch 中实现的 Seq2seq 模型的框架,该框架为 Seq2seq 模型的训练和预测等都提供了模块化和可扩展的组件,此 github 项目是一个基础版本,目标是促进这些技术和应用程序的开发。

(3)BERT NER

https://github.com/kamalkraj/BERT-NER ): BERT 2018 google 提出来的预训练语言模型,自其诞生后打破了一系列的 NLP 任务,所以其在 nlp 的领域一直具有很重要的影响力。该 github 库是 BERT PyTorch 版本,内置了很多强大的预训练模型,使用时非常方便、易上手。

(4)Fairseq

https://github.com/pytorch/fairseq ): Fairseq 是一个序列建模工具包,允许研究人员和开发人员为翻译、总结、语言建模和其他文本生成任务训练自定义模型,它还提供了各种 Seq2seq 模型的参考实现。该 github 存储库包含有关入门、训练新模型、使用新模型和任务扩展 Fairseq 的说明,对该模型感兴趣的小伙伴可以点击上方链接学习。

(5)Quick-nlp

https://github.com/outcastofmusic/quick-nlp): Quick-nlp 是一个深受fast.ai库启发的深入学习Nlp库。它遵循与Fastai相同的API,并对其进行了扩展,允许快速、轻松地运行NLP模型。

(6) OpenNMT-py

https://github.com/OpenNMT/OpenNMT-py ):这是OpenNMT的一个PyTorch实现,一个开放源码的神经网络机器翻译系统。它的设计是为了便于研究,尝试新的想法,以及在翻译,总结,图像到文本,形态学等许多领域中尝试新的想法。一些公司已经证明该代码可以用于实际的工业项目中,更多关于这个github的详细信息请参阅以上链接。

四、CV&PyTorch 实战

(1)pytorchvision

(https://github.com/pytorch/vision):Torchvision是独立于pytorch的关于图像操作的一些方便工具库。主要包括:vision.datasets、vision.models、vision.transforms、vision.utils 几个包,安装和使用都非常简单,感兴趣的小伙伴们可以参考以上链接。

(2)OpenFacePytorch

(https://github.com/thnkim/OpenFacePytorch):此github库是OpenFace在Pytorch中的实现,代码要求输入的图像要与原始OpenFace相同的方式对齐和裁剪。

(3)TorchCV

(https://github.com/donnyyou/torchcv):TorchCV是一个基于PyTorch的计算机视觉深度学习框架,支持大部分视觉任务训练和部署,此github库为大多数基于深度学习的CV问题提供源代码,对CV方向感兴趣的小伙伴还在等什么?

(4)Pytorch-cnn-finetune

(https://github.com/creafz/pytorch-cnn-finetune):该github库是利用pytorch对预训练卷积神经网络进行微调,支持的架构和模型包括:ResNet、DenseNet、Inception v3、VGG、SqueezeNet、AlexNet等。

(5)Pt-styletransfer

(https://github.com/tymokvo/pt-styletransfer#pt-styletransfer):这个github项目是Pytorch中的神经风格转换,具体有以下几个需要注意的地方:

  • StyleTransferNet作为可由其他脚本导入的类;

  • 支持VGG(这是在PyTorch中提供预训练的VGG模型之前)

  • 可保存用于显示的中间样式和内容目标的功能

  • 可作为图像检查图矩阵的函数

  • 自动样式、内容和产品图像保存

  • 一段时间内损失的Matplotlib图和超参数记录,以跟踪有利的结果

(6)Face-alignment

(https://github.com/1adrianb/face-alignment#face-recognition):Face-alignment是一个用 pytorch 实现的 2D 和 3D 人脸对齐库,使用世界上最准确的面对齐网络从 Python 检测面部地标,能够在2D和3D坐标中检测点。该github库详细的介绍了使用Face-alignment进行人脸对齐的基本流程,欢迎感兴趣的同学学习。

 

五、PyTorch 论文推荐

(1)Google_evolution

https://github.com/neuralix/google_evolution ):该论文实现了实现了由 Esteban Real 等人提出的图像分类器大规模演化的结果网络。在实验之前,需要我们安装好 PyTorch Scikit-learn 以及下载好 CIFAR10 dataset 数据集

https://www.cs.toronto.edu/~kriz/cifar.html )。

(2)PyTorch-value-iteration-networks

https://github.com/onlytailei/Value-Iteration-Networks-PyTorch ):该论文基于作者最初的 Theano 实现和 Abhishek Kumar Tensoflow 实现,包含了在 PyTorch 中实现价值迭代网络( VIN )。 Vin NIPS 2016 年获得最佳论文奖。

(3)Pytorch Highway

https://github.com/kefirski/pytorch_Highway ): Highway Netowrks 是允许信息高速无阻碍的通过各层,它是从 Long Short Term Memory(LSTM)recurrent networks 中的 gate 机制受到启发,可以让信息无阻碍的通过许多层,达到训练深层神经网络的效果,使深层神经网络不在仅仅具有浅层神经网络的效果。该论文是 Highway network 基于 Pytorch 的实现。

(4)Pyscatwave

https://github.com/edouardoyallon/pyscatwave ): Cupy/Pythorn 的散射实现。散射网络是一种卷积网络,它的滤波器被预先定义为子波,不需要学习,可以用于图像分类等视觉任务。散射变换可以显著降低输入的空间分辨率(例如 224×224->14×14 ),且双关功率损失明显为负。

(5)Pytorch_NEG_loss

https://github.com/kefirski/pytorch_NEG_loss ):该论文是 Negative Sampling Loss Pytorch 实现。 Negative Sampling 是一种求解 word2vec 模型的方法,它摒弃了霍夫曼树,采用了 Negative Sampling (负采样)的方法来求解,本论文是对 Negative Sampling loss 函数的研究,感兴趣的小伙伴可点击上方论文链接学习。

(6)Pytorch_TDNN

https://github.com/kefirski/pytorch_TDNN ):该论文是对 Time Delayed NN Pytorch 实现。论文详细的讲述了 TDNN 的原理以及实现过程。

六、PyTorch 书籍推荐

相较于目前Tensorflow类型的书籍已经烂大街的状况,PyTorch类的书籍目前已出版的并没有那么多,笔者给大家推荐我认为还不错的四本PyTorch书籍。

  • 《深度学习入门之PyTorch》,电子工业出版社,作者:廖星宇。这本《深度学习入门之PyTorch》是所有PyTorch书籍中出版的相对较早的一本,作者以自己的小白入门深度学习之路,深入浅出的讲解了PyTorch的语法、原理以及实战等内容,适合新手的入门学习。但不足的是,书中有很多不严谨以及生搬硬套的地方,需要读者好好甄别。

    推荐指数: ★★★

  • 《PyTorch深度学习》,人民邮电出版社,作者:王海玲、刘江峰。该书是一本英译书籍,原作者是两位印度的大佬,该书除了PyTorch基本语法、函数外,还涵盖了ResNET、Inception、DenseNet等在内的高级神经网络架构以及它们的应用案例。该书适合数据分析师、数据科学家等相对有一些理论基础和实战经验的读者学习,不太建议作为新手的入门选择。

    推荐指数: ★★★

  • 《深度学习框架PyTorch入门与实践》,电子工业出版社,作者:陈云。这是一本2018年上市的PyTorch书籍,包含理论入门和实战项目两大部分,相较于其它同类型书籍,该书案例非常的翔实,包括:Kaggle竞赛中经典项目、GAN生成动漫头像、AI滤镜、RNN写诗、图像描述任务等。理论+实战的内容设置也更适合深度学习入门者和从业者学习。

    推荐指数: ★★★★

  • 《PyTorch机器学习从入门到实战》,机械工业出版社,作者:校宝在线、孙琳等。该书同样是一本理论结合实战的Pytorch教程,相较于前一本入门+实战教程,本书的特色在于关于深度学习的理论部分讲的非常详细,后边的实战项目更加的综合。总体而言,本书也是一本适合新手学习的不错的PyTorch入门书籍。

    推荐指数: ★★★

【写在最后】本文为大家总结了 PyTorch 各类学习资源,非常适合新手入门。如果大家想了解 AI 行业最新动态,学习更多深度学习、机器学习知识,欢迎关注我们的公众号: 磐创 AI

Github地址 (点击下方 阅读原文 直达) https://github.com/INTERMT/Awesome-PyTorch-Chinese

也许你还想看:

      Tensorflow系列教程

      Keras系列教程

      常用的深度学习相关公开数据集

      近期Github热门项目汇总

      NLP预处理模型汇总