导读
新的TorchScript API可让开发者更简单地将PyTorch模型编译成TorchScript,并支援更多的Python程式语言功能

开源深度学习框架PyTorch开发团队释出了最新的PyTorch 1.2,这个版本的重点在增加了新的模型编译器TorchScript API,并且扩展了开放模型格式ONNX输出功能,另外,音讯、文字和电脑视觉应用函式库,也都发布了新的版本,以配合最新的PyTorch核心。
开发者可以使用TorchScript,将PyTorch模型序列化以及最佳化后,在正式生产环境提供服务,TorchScript是一个编译器,可以将PyTorch模型转换成静态类型图表达(Graph Representation),为不支援Python的受限环境,提供执行PyTorch模型的方法。开发者也可以将模型转换成TorchScript,并且将编译后的代码与Python一併使用。
而TorchScript在PyTorch 1.2的更新,扩充对TorchScript的支援,除了增加了一个更简单使用的API,帮助开发者将模型编译为TorchScript外,还支援更多可用于PyTorch模型的Python子集,包括Python程式语言的结构(Construct)以及标准函式库,像是for迴圈、zip()与enumerate()等基于迭代的结构,还有支援数学和字串函式库,与其他Python内建函式。
现在也更完整的支援ONNX Opset汇出,在PyTorch团队与微软合作之后,提供了汇出ONNX Opset 7到10版的支援,而且为支援最新的ONNX Opset 10,PyTorch 1.2还加入了常数摺叠(Constant Folding)传递。在PyTorch 1.2中,ScriptModule支援多输出、Tensor Factories,并可在输出与输入使用数组(Tuples),开发人员也可以注册自己的符号,以输出自定义的操作,或在汇出时指定动态输入的维度。
PyTorch领域函式库则提供常用的资料集和模型等,让开发者快速创建特定领域的基线程式,并且提供常用的功能抽象,减少开发者重複撰写的样板程式码,在释出PyTorch 1.2的同时,开发团队也更新音讯应用类Torchaudio、文字应用类Torchtext和电脑视觉应用类Torchvision三个函式库,以支援最新的PyTorch核心。
Torchaudio是一个机器学习函式库,内建讯号处理功能,其使用PyTorch的GPU功能,提供波形转换等工具,使音讯资料更易于使用,新版Torchaudio经重新设计释出0.3.0,重点是提供了标准化以及複数功能。Torchtext则能加速自然语言处理应用的开发,新的0.4.0版本加入数个监督式学习基线,开发者可简单地将资料载入使用。Torchvision推出0.4版本,现在新支援影片,以及资料载入、预训练模型和转换功能。