前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyTorch 1.3 重磅发布

PyTorch 1.3 重磅发布

作者头像
用户7164815
发布2020-04-08 11:38:21
4830
发布2020-04-08 11:38:21
举报

2019.10.10日,PyTorch 开发者大会在美国旧金山开幕,会上发布了PyTorch 1.3。这次更新最大的亮点在于对移动设备的支持(Mobile Supported)、命名张量(Named Tensors),量化(Quantization),类型提升(Type Promotion)等。另外,PyTorch 官方还开源了很多新工具和库,涉及可解释性、加密、以及关于图像语音的诸多功能。下面会逐一介绍。

Windows的CPU版本安装:

pip3 install torch==1.3.0+cpu torchvision==0.4.1+cpu -f https://download.pytorch.org/whl/torch_stable.html

其他版本安装请参考:

https://pytorch.org/get-started/locally/

PyTorch 1.3也增加了Cloud TPU和阿里云支持。

移动端支持(Mobile Support)

PyTorch 1.3 支持TorchScript直接在移动端进行推理(inference),而不需要任何转换。当然移动端训练(train)目前还是不支持的。

另外,针对fp32和int8做了一些优化:

- 一些fp32的运算在ARM的CPU上做了特定优化(基于Caffe2Go)

- 一些int8的运算在ARM的CPU上做了特定优化(基于QNNPACK)

PyTorch移动端支持的特色在于没有为移动端建立新的框架(对比TensorFlow lite),所有TorchScript的API都可以直接在Android/iOS上运行。

但目前只是试验性质的发布,仍需要不断发展使得PyTorch对于特定的场景更小,更快。

命名张量(Named Tensor)

Named Tensor对Tensor的每一个维度指定具体的名字,这样可以使Tensor易用性更好。例如:

代码语言:javascript
复制
>>> tensor = torch.zeros(2, 3, names=('C', 'N'))
    tensor([[0., 0., 0.],
            [0., 0., 0.]], names=('C', 'N'))

这样就新建了一个dim=2的Tensor,两个维度分别为’C’和’N’,这样后续就可以直接使用’C’和’N’对Tensor进行操作,而不用使用以前的axis=0或者axis=1这种可读性不好的操作。

量化支持

PyTorch 1.3支持Tensor的量化操作,用户可以方便地

代码语言:javascript
复制
x = torch.rand(10,1, dtype=torch.float32)
# xq 是量化后的向量,数据类型记为 quint8
xq = torch.quantize_per_tensor(x, scale = 0.5, zero_point = 8, dtype=torch.quint8)
# 再转换回浮点数
xdq = x.dequantize()

未完待续。

公众号持续更新,欢迎订阅。

AI人工智能与大数据

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI人工智能与大数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档