泰山眾籌SUN4.0模式軟體開發

Congge420發表於2023-05-12

 一、pytorch模型儲存/載入




  有兩種方式可用於儲存/載入pytorch模型1)檔案中儲存模型結構和權重引數2)檔案只保留模型權重.




  1、檔案中儲存模型結構和權重引數




  1)pytorch模型儲存




  import torch




  torch.save(selfmodel,"save.pt")




  2)pytorch模型載入




  import torch




  torch.load("save.pt")




  2、檔案只保留模型權重




  1)pytorch模型儲存




  import torch




  torch.save(selfmodel.state_dict(),"save.pt")




  2)pytorch模型載入




  關於區塊鏈技術專案開發威:yy625019




  selfmodel.load_state_dict(torch.load("save.pt"))




  二、pytorch模型轉ONNX模型




  1、檔案中儲存模型結構和權重引數




  import torch




  torch_model=torch.load("save.pt")#pytorch模型載入




  batch_size=1#批處理大小




  input_shape=(3,244,244)#輸入資料




  #set the model to inference mode




  torch_model.eval()




  x=torch.randn(batch_size,*input_shape)#生成張量




  export_onnx_file="test.onnx"#目的ONNX檔名




  torch.onnx.export(torch_model,




  x,




  export_onnx_file,




  opset_version=10,




  do_constant_folding=True,#是否執行常量摺疊最佳化




  input_names=["input"],#輸入名




  output_names=["output"],#輸出名




  dynamic_axes={"input":{0:"batch_size"},#批處理變數




  "output":{0:"batch_size"}})




  注:dynamic_axes欄位用於批處理.若不想支援批處理或固定批處理大小,移除dynamic_axes欄位即可.


 作者:AV_yy625019 出處:bilibili


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70029947/viewspace-2951811/,如需轉載,請註明出處,否則將追究法律責任。

相關文章