pytorch 转换onnx_新版PyTorch发布!新增TorchScript API,扩展ONNX导出
銅靈 發(fā)自 凹非寺
量子位 出品 | 公眾號(hào) QbitAI
今天,PyTorch 1.2.0版正式發(fā)布。
官方表示,和1.1版本相比,新版本在使用體驗(yàn)上又往前邁進(jìn)了一大步。主要新增/改動(dòng)的功能包括:
完善TorchScript環(huán)境,提供了新的將模型編譯為TorchScrip的API擴(kuò)展ONNX模型的導(dǎo)出的支持增強(qiáng)對Transformer架構(gòu)的模塊級(jí)支持此外,TensorBoard現(xiàn)在也能快速開始使用了對于這一系列的更新,Reddit網(wǎng)友開心得不得了。
有網(wǎng)友評價(jià),Transformer層非常棒,此前需要用自己的自定義圖層,現(xiàn)在終于不用去維護(hù)它了。
TensorBoard不再是一個(gè)實(shí)驗(yàn)性的功能了。RIP,瀏覽器。
總之,1.2.0版本的PyTorch更方便更好用了。一起圍觀下具體更新。
四大更新
TorchScript編譯器
TorchScript編譯器最早是在1.0版本出現(xiàn)的,可以將PyTorch模型轉(zhuǎn)換為靜態(tài)圖表征,可用于Python不可用的受限環(huán)境中的優(yōu)化和執(zhí)行。
新版本中擴(kuò)展了TorchScript對PyTorch模型中使用的Python子集的支持,提供了一種新的、更易于使用的API,用于將模型編譯為TorchScript。
此前,TorchScript編譯器將模型逐步轉(zhuǎn)換為TorchScript,將編譯后的代碼與Python無縫混合。有了新的API,能將nn.Modules 轉(zhuǎn)換為ScriptModules。
看一下示例用法:
擴(kuò)展ONNX導(dǎo)出
作為開源的模型交換格式,讓不同的框架以相同格式存儲(chǔ)模型數(shù)據(jù)并交互,ONNX的出現(xiàn)為開發(fā)人員節(jié)約了不少時(shí)間。
在PyTorch最新版中,開發(fā)者進(jìn)一步擴(kuò)展了ONNX導(dǎo)出。
主要包括:
支持多種Opset,包括在Opset 10中導(dǎo)出dropout、slice、flip和interpolate改進(jìn)ScriptModule,支持多個(gè)Tensor factory和tuples作為輸入和輸出新支持了十幾個(gè)額外的PyTorch operator,還能對其進(jìn)行自定義改進(jìn)bug~nn.Transformer模塊
在PyTorch 1.2.0版本中,包含了一個(gè)標(biāo)準(zhǔn)的nn.Transformer模塊,這個(gè)模塊完全依賴于注意機(jī)制來理清輸入和輸出之間的全局依賴關(guān)系。其中的各個(gè)組件可以獨(dú)立使用。
例如,nn.TransformerEncoder可以單獨(dú)使用,不需要更大nn.Transformer。新API包括:nn.Transformernn.TransformerEncoder和nn.TransformerEncoderLayernn.TransformerDecoder和nn.TransformerDecoderLayerTensorboard
此外還有一處更新。現(xiàn)在輸入from torch.utils.tensorboard import SummaryWriter即可直接使用了。
只要安裝了TensorBoard,這些實(shí)用程序就可以將PyTorch模型和標(biāo)準(zhǔn)記錄到目錄中,用戶可在TensorBoard UI中進(jìn)行可視化。
更新×3
這次更新的不止PyTorch 1.2,還有torchvision 0.4,torchaudio 0.3和torchtext 0.4。
torchvision 0.4版本,包含了:
可用于讀/寫視頻和音頻文件的IO原語(I/O primitives),支持任意編碼和格式。
一個(gè)標(biāo)準(zhǔn)視頻數(shù)據(jù)集,兼容torch.utils.data.Dataset和torch.utils.data.DataLoader。
基于Kinetics-400數(shù)據(jù)集構(gòu)建的預(yù)訓(xùn)練模型,可用于視頻(訓(xùn)練腳本)的動(dòng)作分類。
用于訓(xùn)練你自己視頻模型的參考訓(xùn)練腳本
torchaudio 0.3主要針對讓機(jī)器解釋音波,新版本中圍繞標(biāo)準(zhǔn)化、復(fù)數(shù)(complex number)、轉(zhuǎn)換(重新采樣)進(jìn)行改進(jìn),還更新了torchaudio的轉(zhuǎn)換接口。
torchtext 0.4針對的時(shí)NLP研究,可以用于處理基于原始文本的數(shù)據(jù)。
此次更新的版本中,包含了很多流行監(jiān)督學(xué)習(xí)帶“one-command”數(shù)據(jù)加載的baseline,此外,還更新了如何用新數(shù)據(jù)集進(jìn)行文本分類分析的教程。
傳送門
PyTorch介紹:
https://pytorch.org/blog/pytorch-1.2-and-domain-api-release/
GitHub地址:
https://github.com/pytorch/pytorch/releases
總結(jié)
以上是生活随笔為你收集整理的pytorch 转换onnx_新版PyTorch发布!新增TorchScript API,扩展ONNX导出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php中getdistance函数_ph
- 下一篇: 3d 根据弧长算角度_三分钟带你了解三姆