五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

2022網易微專業(yè)高級前端開發(fā)工程師日出東方其道大光

2022-10-17 12:25 作者:山觀那恭喜囧昂貴的  | 我要投稿


Pytorch在C++中加載TORCHSCRIPT模型

2022網易微專業(yè)高級前端開發(fā)工程師日出東方其道大光

download:https://www.51xuebc.com/thread-501-1-1.html

備用:3w 51xuebc com

PyTorch的主要編程接口是Python語言。雖然對于很多需要動態(tài)快速迭代的場景,Python是一種合適的首選語言,但也有很多情況下,Python的這些屬性恰恰是不利的。經常使用后者的一個環(huán)境是生產環(huán)境,它要求低延遲和嚴格的部署。對于生產場景,C++通常是首選語言,即使它只綁定了另一種語言,如Java、Rust或Go。以下內容將概述如何使用PyTorch提供C++庫來加載現(xiàn)有的Python序列化模型,該模型完全獨立于Python在C++環(huán)境中的執(zhí)行。
步驟1:將PyTorch模型轉換為Torch腳本。
PyTorch模型從Python到C++遷移的媒介是通過Torch腳本實現(xiàn)的,Torch腳本是PyTorch模型的中間表示,可以被Torch腳本編譯器理解、編譯和序列化。如果從vanilla“eager”API編寫的現(xiàn)有PyTorch模型開始,必須先將模型轉換成Torch腳本。在下面討論的最常見的情況下,這只需要很少的工作。如果你已經有一個Torch腳本模塊,你可以跳到本教程的下一部分。
有兩種方法可以將PyTorch模型轉換成Torch腳本。第一個稱為跟蹤,這是一種通過使用樣本輸入評估一次來捕獲模型結構的機制,并記錄這些輸入在模型中的流動。這適用于限制控制流使用的模型(即,如果模型中不存在)。第二種方法是向模型添加顯式注釋,以通知Torch腳本編譯器,它可以直接解析和編譯模型代碼,受Torch腳本語言施加的約束。


提示:
這兩種方法的完整文檔可以在官方的Torch腳本參考中找到,以及關于它們的使用的進一步指導。
1.1通過跟蹤轉換為Torch腳本
要通過跟蹤將PyTorch模型轉換為Torch腳本,必須將模型實例與樣本輸入一起傳遞給torch.jit.trace函數(shù)。這將生成一個torch.jit.ScriptModule對象,它包含嵌入在模塊的forward方法中的模型評估跟蹤:
進口火炬
進口火炬視覺

#你的模型的一個實例。
model = torch vision . models . resnet 18()

#您通常會提供給模型的forward()方法的示例輸入。
example = torch.rand(1,3,224,224)

#使用torch.jit.trace通過跟蹤生成torch.jit.ScriptModule。
#將模型模型和樣本數(shù)據(jù)示例傳遞到torch.jit.trace中
traced _ script _ module = torch . JIT . trace(模型,示例)
復制代碼


與傳統(tǒng)的PyTorch模塊一樣,您現(xiàn)在可以對被跟蹤的ScriptModule進行相同的推斷和預測:
in[1]:output = traced _ script _ module(torch . ones(1,3,224,224))
在[2]:輸出[0,:5]
Out[2]:張量([-0.2698,-0.0381,0.4023,-0.3010,-0.0448],grad_fn=)
復制代碼
1.2通過注釋轉換為Torch腳本
在某些情況下,如果模型采用特定形式的控制流,您可以直接用Torch腳本編寫模型,并相應地對模型進行注釋。例如,假設有以下普通Pytorch模型:
進口火炬

MyModule類(torch.nn.Module):
def __init__(self,N,M):
超級(MyModule,self)。__init__()
self . weight = torch . nn . parameter(torch . rand(N,M))

向前定義(自身,輸入):
如果input.sum() > 0: ###</p>

2022網易微專業(yè)高級前端開發(fā)工程師日出東方其道大光的評論 (共 條)

分享到微博請遵守國家法律
陆河县| 灌阳县| 宿州市| 边坝县| 孝义市| 清远市| 大名县| 盐池县| 金乡县| 镇远县| 土默特右旗| 亳州市| 惠州市| 云南省| 息烽县| 青海省| 平乡县| 石泉县| 抚顺市| 榕江县| 阿荣旗| 博乐市| 鄢陵县| 许昌县| 长乐市| 安阳县| 北流市| 南川市| 卢龙县| 格尔木市| 二手房| 八宿县| 定南县| 石楼县| 叶城县| 达州市| 南城县| 湖州市| 敖汉旗| 珠海市| 凌源市|