PyTorch 1.4发布支持Java和分布式训练

PyTorch团队发布了最新的PyTorch 1.4,这个版本让开发者可自定义移动设备函数库,仅加入需要的运算符(Operator),也加入新的实验性功能,包括模型平行训练以及支持Java语言绑定。

PyTorch Mobile在PyTorch 1.3版本开源之后,现在于PyTorch 1.4加入了更多对移动设备的支持,可以精细地自定义构建脚本,这将让开发者有能力优化函数库的大小,只放进模型需要的运算符,明显地降低占用设备的容量,官方提到,自定义MobileNetV2的大小,约只有预构建PyTorch行动函数库的40%到50%。

这个版本加入了两个实验性的功能,第一个是分布式模型平行训练,官方提到,由于模型的规模不断增加,甚至高达数十亿个参数,因此模型的平行训练对于研究人员来说越来越重要,PyTorch 1.4提供分布式RPC框架,以支持分布式模型平行训练,除了能远程执行函数,还可在不实际复制数据的情况下,参照远程对象。

另外,PyTorch支持Python和C++两种程序语言,这个版本额外增加Java支持,官方表示,新的Java绑定可让开发者从任何Java程序调用TorchScript模型,不过,目前这个版本还仅支持Linux,也只能用来进行模型预测。

各领域函数库也有许多升级,torchvision函数库中所有模型都支持ONNX格式,同时所有模型也都支持torchscriptable,使其更易在非Python环境使用。而torchaudio函数库则加入许多过滤器和交互式语音识别功能,torchtext函数库现在可访问enwik9非监督式学习数据集。