新手必备 | 史上最全的PyTorch学习资源汇总
目录:
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的散射实现。散射网络是一种卷积网络,它的滤波器被预先定义为子波,不需要学习,可以用于图像分类等视觉任务。散射变换可以显著降低输入的空间分辨率(例如224x224->14x14),且双关功率损失明显为负。
(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
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站:
http://pytorch.panchuang.net/
新手必备 | 史上最全的PyTorch学习资源汇总的更多相关文章
- 【干货】史上最全的Tensorflow学习资源汇总
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 作者:AI小昕 在之前的Tensorflow系列文章中,我们教大家 ...
- 痞子衡嵌入式:史上最强ARM Cortex-M学习资源汇总(持续更新中...)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M学习资源. 类别 资源 版本 短评 官方汇总 cortex-m-resources / ARM公司专家Josep ...
- 吐血总结|史上最全的MySQL学习资料!!
在日常工作与学习中,无论是开发.运维.还是测试,对于数据库的学习是不可避免的,同时也是日常工作的必备技术之一.在互联网公司,开源产品线比较多,互联网企业所用的数据库占比较重的还是MySQL. 在刚刚出 ...
- 如何能快速的成为一个年薪20万的Java程序员,你都需要具备哪些技术?史上最全的java学习路线!
看好了,绝对不是单纯的初级视频,一个朋友在某机构学习,把每天老师讲课的视频代码和笔记全部整理出来了,需要的抓紧时间联系我! 一级目录截图 其中还包含时下最火的分布式和外服务的技术哦,请看07和08 ...
- 史上最全的SpringMVC学习笔记
SpringMVC学习笔记---- 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于Spring ...
- (史上最全的ios源码汇总)
按钮类 按钮 Drop Down Control http://www.apkbus.com/android-106661-1-1.html 按钮-Circular M ...
- python学习教程,史上最全面的python学习路线图
Python 是Web 开发.游戏脚本.计算机视觉.物联网管理和机器人开发的主流语言之一,随着Python用户可以预期的增长,它还有机会在多个领域里登顶.Python学习路线分享给你. 阶段一是Pyt ...
- 史上最全的Python学习现线路视频教程(转)
首先,由于各方面压力,不得不学习现在的主流技术,深度学习,人工智能,机器学习各方面的,python又重新的进入了更多的程序猿的圈子,原以为java就差不多可以干到退休了,但是没办法,学....已经成功 ...
- 史上最全的 Java 新手问题汇总
史上最全的 Java 新手问题汇总 Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在. 有超过30亿 ...
随机推荐
- Python——3条件判断和循环
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- Git 程序员篇
关于 Git Git 背后的故事 伟大的作品总是诞生于伟大的时代,正如 Git 同样诞生于一个英雄辈出.极富纷争的年代. 2005 年,Linux 内核开发社区正面临严峻的挑战:他们不能继续使用 Bi ...
- 7-45 jmu-python-涨工资 (10 分)
输入一组工资数据,写入列表.对于小于5000的工资,涨1.5倍.并输出涨后的工资数据. 输入格式: 数据之间空格隔开 输出格式: 涨工资后的数据,空格隔开.尾部 不带空格. 输入样例: 3000 40 ...
- 微信h5页面调用第三方位置导航
微信h5页面拉起第三方导航应用 需要准备的: 通过微信认证的公众号有备案过的域名 背景:微信公众号点击菜单栏跳到h5页面,需要用到导航功能 需求:当用户点击导航按钮时,跳转到第三方app进行导航 参考 ...
- 【从零单排HBase 01】从一无所知到5分钟快速了解HBase
最近公司正好准备投入HBase,因此做了一些基础学习准备,所以先暂时停止MySQL的更新,把HBase的学习心得跟大家分享一下,接下来一段时间都会发布HBase相关内容. 在学的过程中,发现跟MySQ ...
- 内网渗透之跨边界传输 - 反弹shell
大年初一,当然是更一篇重磅文章啦 反弹shell /bin目录下带sh的都是shell nc 1.正向连接,目标机监听自身端口,攻击机主动建立连接 目标机:nc -lvvp 端口 -e /bin/ba ...
- 使用AtomicStampedReference<T>的大坑
//在初始化的时候会把引用和时间戳存到pair中 AtomicStampedReference<Integer> integerAtomicStampedReference = new A ...
- django 从零开始 10 缓存控制
设置django缓存,比如一些访问频繁的页面 首页 并且不需要进行太大的变化,那么可以设置为一定是时间内请求该url视图 不经过视图计算直接返回缓存的内容 django文档选择了几种方式,但是我这 ...
- TCP数据报结构以及三次握手(图解)
简要介绍 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接.客户端在收发 ...
- 爬虫之BeautifulSoup类
安装:pip install BeautifulSoup4 下表列出了主要的解析器,以及它们的优缺点:看个人习惯选取自己喜欢的解析方式 # 获取html代码 import requests r = r ...