PyTorch 1.3有什么新功能

发布时间:2021-12-24 10:02:56 作者:小新
来源:亿速云 阅读:90

这篇文章主要为大家展示了“PyTorch 1.3有什么新功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PyTorch 1.3有什么新功能”这篇文章吧。

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


PyTorch 1.3有什么新功能


PyTorch 1.3有什么新功能


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易用性更好。例如:


>>> 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的量化操作,用户可以方便地


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()


以上是“PyTorch 1.3有什么新功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. Pycharm中切换pytorch的环境和配置的教程详解
  2. PyTorch 1.0 正式版已经发布了

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

pytorch

上一篇:MOSN核心概念是什么

下一篇:linux中如何删除用户组

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》