快速入门:开源书籍PyTorch中文手册来了!
2019年02月14日 由 浅浅 发表
147217
0
pytorch handbook是一本开源的书籍,目标是帮助那些希望和使用PyTorch进行深度学习开发和研究的朋友快速入门,其中包含的Pytorch教程全部通过测试保证可以成功运行。
书籍介绍
这是一本开源的书籍,目标是帮助那些希望和使用PyTorch进行深度学习开发和研究的朋友快速入门。
由于作者本人水平有限,在写此教程的时候参考了一些网上的资料,在这里对他们表示敬意,会在每个引用中附上原文地址,方便大家参考。
深度学习的技术在飞速的发展,同时PyTorch也在不断更新,且作者会逐步完善相关内容。
版本说明
由于PyTorch版本更迭,教程的版本会与PyTorch版本,保持一致。
12月8日PyTorch已经发布1.0的稳定版。API的改动不是很大,本教程已经通过测试,保证能够在1.0中正常运行。不过目前看影响不大,因为毕竟内容还不多。v0.4.1已经新建了分支作为存档,并且该不会再进行更新了。
目录
第一章: pytorch入门
- Pytorch 简介
- Pytorch环境搭建
- PyTorch 深度学习:60分钟快速入门 (官方)
- 张量
- Autograd: 自动求导
- 神经网络
- 训练一个分类器
- 选读:数据并行处理(多GPU)
- 相关资源介绍
第二章 基础
第一节 PyTorch 基础
- 张量
- 自动求导
- 神经网络包nn和优化器optm
- 数据的加载和预处理
第二节 深度学习基础及数学原理
深度学习基础及数学原理
第三节 神经网络简介
神经网络简介
第四节 卷积神经网络
卷积神经网络
第五节 循环神经网络
循环神经网络
第三章 实践
第一节 logistic回归二元分类
logistic回归二元分类
第二节 CNN:MNIST数据集手写数字识别
CNN:MNIST数据集手写数字识别
第三节 RNN实例:通过Sin预测Cos
RNN实例:通过Sin预测Cos
第四章 提高
第一节 Fine-tuning
Fine-tuning
第二节 可视化
visdom
tensorboardx
第三节 fastai
第四节 数据处理技巧
第五节 并行计算
第五章 应用
第一节 Kaggle介绍
第二节 结构化数据
第三节 计算机视觉
第四节 自然语言处理
第五节 协同过滤
第六章 资源
节选
1.1 Pytorch 简介
1.1.1 PyTorch的由来
很多人都会拿PyTorch和Google的Tensorflow进行比较,这个肯定是没有问题的,因为他们是最火的两个深度学习框架了。但是说到PyTorch,其实应该先说Torch。
1.1.2 Torch是什么?
Torch英译中:火炬
A Tensor library like Numpy, unlike Numpy it has strong GPU support. Lua is a wrapper for Torch (Yes! you need to have a good understanding of Lua), and for that you will need LuaRocks package manager.
Torch是一个与Numpy类似的张量(Tensor)操作库,与Numpy不同的是Torch对GPU支持的很好,Lua是Torch的上层包装。
Torch is not going anywhere. PyTorch and Torch use the same C libraries that contain all the performance: TH, THC, THNN, THCUNN and they will continue to be shared.
We still and will have continued engineering on Torch itself, and we have no immediate plan to remove that.
PyTorch和Torch使用包含所有相同性能的C库:TH, THC, THNN, THCUNN,并且它们将继续共享这些库。
这样的回答就很明确了,其实PyTorch和Torch都使用的是相同的底层,只是使用了不同的上层包装语言。
注:LUA虽然快,但是太小众了,所以才会有PyTorch的出现。
1.1.3 重新介绍 PyTorch
PyTorch is an open source machine learning library for Python, based on Torch, used for applications such as natural language processing. It is primarily developed by Facebook's artificial-intelligence research group, and Uber's "Pyro" software for probabilistic programming is built on it.
PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。Uber的"Pyro"也是使用的这个库。
PyTorch is a Python package that provides two high-level features:
Tensor computation (like NumPy) with strong GPU acceleration
Deep neural networks built on a tape-based autograd system
You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend PyTorch when needed.
PyTorch是一个Python包,提供两个高级功能:
- 具有强大的GPU加速的张量计算(如NumPy)
- 包含自动求导系统的的深度神经网络
1.1.4 对比PyTorch和Tensorflow
没有好的框架,只有合适的框架, 这里有个简单的对比,所以这里就不详细再说了。并且技术是发展的,这里的对比也不是绝对的,比如Tensorflow在1.5版的时候就引入了Eager Execution机制实现了动态图,PyTorch的可视化,windows支持,沿维翻转张量等问题都已经不是问题了。
1.1.5 再次总结
- PyTorch算是相当简洁优雅且高效快速的框架
- 设计追求最少的封装,尽量避免重复造轮子
- 算是所有的框架中面向对象设计的最优雅的一个,设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法
- 大佬支持,与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新
- 不错的的文档(相比FB的其他项目,PyTorch的文档简直算是完善了,参考Thrift),PyTorch作者亲自维护的论坛 供用户交流和求教问题
- 入门简单
所以如果以上信息有吸引你的内容,那么请一定要读完这本书:)
书籍:
github.com/zergtant/pytorch-handbook