手机版
你好,游客 登录 注册
背景:
阅读新闻

PyTorch 1.2 发布,新的TorchScript API

[日期:2019-08-13] 来源:Linux公社  作者:醉落红尘 [字体: ]

上周,PyTorch团队宣布推出PyTorch 1.2。 此版本附带一个新的TorchScript API,具有改进的Python语言覆盖范围,扩展的ONNX导出,标准的nn.Transformer模块等。

以下是PyTorch 1.2中的一些更新:

一个新的TorchScript API

使用TorchScript可以创建可通过PyTorch代码进行序列化和优化的模型。 PyTorch 1.2带来了一个新的“易于使用的TorchScript API”,用于将nn.Module转换为ScriptModules。 torch.jit.script现在将递归地编译它遇到的函数,方法和类。创建ScriptModules的首选方法是torch.jit.script(nn_module_instance),而不是继承自torch.jit.ScriptModule。

通过此更新,某些项目将被视为已弃用,建议开发人员不要在新代码中使用它们。不推荐使用的组件包括 @torch.jit.script_method装饰器,继承自torch.jit.ScriptModule的类,torch.jit.Attribute包装类和 __constants__数组。

此外,TorchScript现在已经改进了对Python语言结构和Python标准库的支持。它支持基于迭代器的构造,例如for..in循环,zip() 和enumerate()。它还支持数学和字符串库以及其他Python内置函数。

完全支持ONNX Opset导出

PyTorch团队与Microsoft合作,为出口ONNX Opset版本7,8,9,10提供全面支持.PyTorch 1.2包括在Opset 10中导出丢失,切片,翻转和插值的功能.ScriptModule经过改进,包括支持多个 输出,张量工厂和元组作为输入和输出。 开发人员还可以注册自己的符号来导出自定义操作,并在导出期间设置输入的动态尺寸。

标准的nn.Transformer

PyTorch 1.2附带一个标准的nn.Transformer模块,允许您根据需要修改属性。 基于论文Attention is All You Need,该模块完全依赖于用于绘制输入和输出之间的全局依赖关系的注意机制。 它的设计使您可以独立使用其各个组件。 例如,您可以使用其nn.TransformerEncoder API而不使用较大的nn.Transformer。

PyTorch 1.2的重大变化

包括 lt, le, gt, ge, eq, ne的比较操作的返回dtype现在更改为torch.bool而不是torch.uint8。

torch.tensor(bool)和torch.as_tensor(bool)的类型更改为torch.bool dtype而不是torch.uint8。

现在删除了一些线性代数函数,以支持重命名的操作。 下面列出了所有已删除的操作及其替代方法,供您快速参考:

 PyTorch 1.2 发布,新的TorchScript API

资料来源:PyTorch

查看PyTorch发行说明以了解更多详细信息。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/160008.htm

linux
相关资讯       pytorch  PyTorch 1.2 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款