您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“PyTorch 1.3有什么新功能”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PyTorch 1.3有什么新功能”這篇文章吧。
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易用性更好。例如:
>>> 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有什么新功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。