Commit 354a525 1 parent 6443a57 commit 354a525 Copy full SHA for 354a525
File tree 2 files changed +51
-1
lines changed
2 files changed +51
-1
lines changed Original file line number Diff line number Diff line change 11
11
## 版本说明
12
12
由于PyTorch版本更迭,教程的版本会与PyTorch版本,保持一致。
13
13
14
- 目前PyTorch的版本为0.41,教程版本也相应为0.41,等待1.0正式发布后,本教程也会随之升级到1.0版
14
+ 12月8日PyTorch已经发布1.0的稳定版。
15
+ API的改动不是很大,本教程的兼容性正在测试,会保证能够在1.0中正常运行。
16
+ 不过目前看影响不大,因为毕竟内容还不多。 v0.4.1已经新建了分支作为存档,并且该不会再进行更新了。
17
+
18
+ [ 官方1.0说明] ( https://github.com/pytorch/pytorch/releases/tag/v1.0.0 )
19
+ [ 主要改动中文说明] ( changelog-v1.0.md )
20
+
21
+
15
22
16
23
## 目录
17
24
Original file line number Diff line number Diff line change
1
+ # PyTorch 1.0主要改动说明
2
+ 本改动说明只针对主要部分进行阐述,详情还请以官方英文为准
3
+
4
+ ## JIT
5
+ JIT是一组编译工具,用来弥补研究和产品部署之间的差距。
6
+
7
+ 新增的torch.jit包,包含了一组编译器工具,用于搭建PyTorch的研究与工业生产之间的桥梁。
8
+ 它包括一种名为Torch Script的语言(单从语法上来看,这是Python语言的一个子集,所以我们不用再学一门新语言了),以及两种使现有代码与JIT兼容的方法。
9
+ Torch Script的代码是可以进行积极的优化(类似TensorFlow代码),可以序列化,以供以后在C++ API中使用,它完全不依赖于Python。
10
+
11
+ ` @torch.jit.script ` 注解,官方给出的注释是Write in Python, run anywhere!
12
+
13
+ ## 改进的分布式库torch.distributed
14
+ - 新的torch.distributed是性能驱动的,并且对所有后端(Gloo,NCCL和MPI)完全异步操作
15
+ - 显著的分布式数据并行性能改进,尤其适用于网络较慢的主机,如基于以太网的主机
16
+ - 为torch.distributed包中的所有分布式集合操作添加异步支持
17
+ - 在Gloo后端添加以下CPU操作:send,recv,reduce,all_gather,gather,scatter
18
+ - 在NCCL后端添加障碍操作
19
+ - 为NCCL后端添加new_group支持
20
+
21
+ 其实主要含义就是分布式的性能得到了改进,具体改进多少后面还要进行测试了
22
+
23
+ ## C++的前端(C++ 版 Torch)
24
+ C++前端是到PyTorch后端的纯C++接口,遵循已建立的Python前端的API和体系结构。它旨在支持在高性能、低延迟和硬核C++应用程序中的研究。它相当于torch.nn, torch.data等PyTorch的Python前端组件。
25
+
26
+ 这个对我来说意义不大,不详细说了
27
+
28
+ ## Torch Hub
29
+ 这个一听就知道,google刚推出TensorFlow Hub不久,FB就跟进了,受益最大的就是“没有技术含量的公司可以再吹一波牛逼了”
30
+
31
+ ## 官方提供免费课程
32
+ 与Udacity合作,免费提供成人AI课程:
33
+
34
+ [ PyTorch深度学习简介] ( https://cn.udacity.com/course/deep-learning-pytorch--ud188 )
35
+
36
+ 看样子如果出中文版的话可能要有一阵子了,不过 I love study,study makes me happy.
37
+
38
+
39
+ ## 比较重要的改动
40
+
41
+ - torch.distributed的 TCP 后端被移除了,官方建议:CPU用Gloo或者MPI, GPU用英伟达的NCCL
42
+ - 使用tensor的0下标返回数据的方法(如:loss[ 0] ),彻底移除, 你需要使用loss.item() 这个可能比较重要,因为标量(0阶张量)的操作一定要用到这个
43
+ - 移除了直接在CUDA上调用numpy函数的隐式类型转换,现在你需要手动把数据从CUDA先移到CPU上 这个对我们来说不重要,我们一直都是先移动到cpu再转化成numpy函数的
You can’t perform that action at this time.
0 commit comments