如何將訓(xùn)練好的pytorch模型部署到安卓設(shè)備上
來源:投稿 作者:AI浩
編輯:學(xué)姐
這篇文章演示如何將訓(xùn)練好的pytorch模型部署到安卓設(shè)備上。我也是剛開始學(xué)安卓,代碼寫的簡單。
環(huán)境:pytorch版本:1.10.0
# 模型轉(zhuǎn)化
pytorch_android支持的模型是.pt模型,我們訓(xùn)練出來的模型是.pth。所以需要轉(zhuǎn)化才可以用。
先看官網(wǎng)上給的轉(zhuǎn)化方式:
這個模型在安卓對應(yīng)的包:
注:pytorch_android_lite版本和轉(zhuǎn)化模型用的版本要一致,不一致就會報各種錯誤。
目前用這種方法有點問題,我采用的另一種方法。
轉(zhuǎn)化代碼如下:
定義模型文件和轉(zhuǎn)化后的文件路徑。
load模型。(這里要注意,如果保存模型)
torch.save(model,'models.pth')
加載模型則是
model=torch.load('models.pth')
如果保存模型是
torch.save(model.state_dict(),"models.pth")
加載模型則是
model.load_state_dict(torch.load('models.pth'))
定義輸入數(shù)據(jù)格式。
模型轉(zhuǎn)化,然后再保存模型。
# 安卓部署
新建項目
新建安卓項目,選擇Empy Activity,然后選擇Next

然后,填寫項目信息,選擇安卓版本,我用的4.4,點擊完成

導(dǎo)入包
導(dǎo)入pytorch_android的包

如果有參數(shù)報錯請參照我的完整的配置,代碼如下:
頁面文件
頁面的配置如下:
這個頁面只有兩個空間,一個展示圖片,一個顯示文字。

模型推理
新增assets文件夾,然后將轉(zhuǎn)化的模型和待測試的圖片放進去。

新增ImageNetClasses類,這個類存放類別名字。

代碼如下:
在MainActivity類中,增加模型推理的邏輯。
完成代碼如下:
然后運行。

【學(xué)姐帶你玩AI】公眾號開通留言功能了!
在【學(xué)姐帶你玩AI】公眾號的評論區(qū)留言——騷話說的好的/認真學(xué)習(xí)的/錯誤指正的會有神秘獎品掉落!
【學(xué)姐帶你玩AI】公眾號的評論區(qū)每周留言最多的會有大獎送出,具體請看下周一次條公告!
【學(xué)姐帶你玩AI】公眾號下周有留言活動哦!超級大大大大獎,請關(guān)注周一頭條文章!