濮阳杆衣贸易有限公司

主頁 > 知識庫 > 從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作

從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作

熱門標簽:阿里電話機器人對話 地圖地圖標注有嘆號 電銷機器人系統(tǒng)廠家鄭州 遼寧智能外呼系統(tǒng)需要多少錢 正安縣地圖標注app 400電話申請資格 qt百度地圖標注 螳螂科技外呼系統(tǒng)怎么用 舉辦過冬奧會的城市地圖標注

目的:

把訓練好的pth模型參數(shù)提取出來,然后用其他方式部署到邊緣設備。

Pytorch給了很方便的讀取參數(shù)接口:

nn.Module.parameters()

直接看demo:

from torchvision.models.alexnet import alexnet 
model = alexnet(pretrained=True).eval().cuda()
parameters = model.parameters()
for p in parameters:
  numpy_para = p.detach().cpu().numpy()
  print(type(numpy_para))
  print(numpy_para.shape)

上面得到的numpy_para就是numpy參數(shù)了~

Note:

model.parameters()是以一個生成器的形式迭代返回每一層的參數(shù)。所以用for循環(huán)讀取到各層的參數(shù),循環(huán)次數(shù)就表示層數(shù)。

而每一層的參數(shù)都是torch.nn.parameter.Parameter類型,是Tensor的子類,所以直接用tensor轉numpy(即p.detach().cpu().numpy())的方法就可以直接轉成numpy矩陣。

方便又好用,爆贊~

補充:pytorch訓練好的.pth模型轉換為.pt

將python訓練好的.pth文件轉為.pt

import torch
import torchvision
from unet import UNet
model = UNet(3, 2)#自己定義的網絡模型
model.load_state_dict(torch.load("best_weights.pth"))#保存的訓練模型
model.eval()#切換到eval()
example = torch.rand(1, 3, 320, 480)#生成一個隨機輸入維度的輸入
traced_script_module = torch.jit.trace(model, example)
traced_script_module.save("model.pt")

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Numpy實現(xiàn)矩陣運算及線性代數(shù)應用
  • numpy數(shù)組合并和矩陣拼接的實現(xiàn)
  • numpy和tensorflow中的各種乘法(點乘和矩陣乘)
  • NumPy 矩陣乘法的實現(xiàn)示例
  • Python numpy大矩陣運算內存不足如何解決
  • 使用numpy實現(xiàn)矩陣的翻轉(flip)與旋轉

標簽:昭通 合肥 淘寶好評回訪 濟源 阜新 隨州 興安盟 信陽

巨人網絡通訊聲明:本文標題《從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作》,本文關鍵詞  從,Pytorch,模型,pth,文件,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作》相關的同類信息!
  • 本頁收集關于從Pytorch模型pth文件中讀取參數(shù)成numpy矩陣的操作的相關信息資訊供網民參考!
  • 推薦文章
    根河市| 龙川县| 江津市| 彩票| 布尔津县| 元阳县| 县级市| 枣强县| 东城区| 深水埗区| 定安县| 霍州市| 茶陵县| 买车| 乌鲁木齐市| 青州市| 玉溪市| 晋城| 崇明县| 宜章县| 西昌市| 中阳县| 土默特右旗| 仲巴县| 武川县| 阿克苏市| 类乌齐县| 宁乡县| 五大连池市| 桂东县| 永福县| 义马市| 诸暨市| 稷山县| 衡阳市| 齐齐哈尔市| 融水| 林州市| 兴城市| 临海市| 漳平市|