【神经网络量化】ONNX介绍与用法
ONNX學習
框架共用的模型文件格式
使用protobuf二進制格式來序列化模型,可以提供更好的傳輸性能。
函數
torch.onnx.export(model, args, f, export_params=True, verbose=False, training=False, input_names=None, output_names=None)
將一個模型導出到ONNX格式。該exporter會運行一次你的模型,以便于記錄模型的執行軌跡,并將其導出;目前,exporter還不支持動態模型(例如,RNNs)。
另請參閱:onnx-export
參數:
model(torch.nn.Module)-要被導出的模型
args(參數的集合)-模型的輸入,例如,這種model(*args)方式是對模型的有效調用。任何非Variable參數都將硬編碼到導出的模型中;任何Variable參數都將成為導出的模型的輸入,并按照他們在args中出現的順序輸入。如果args是一個Variable,這等價于用包含這個Variable的1-ary元組調用它。(注意:現在不支持向模型傳遞關鍵字參數。)
f-一個類文件的對象(必須實現文件描述符的返回)或一個包含文件名字符串。一個二進制Protobuf將會寫入這個文件中。
export_params(bool,default True)-如果指定,所有參數都會被導出。如果你只想導出一個未訓練的模型,就將此參數設置為False。在這種情況下,導出的模型將首先把所有parameters作為參arguments,順序由model.state_dict().values()指定。
verbose(bool,default False)-如果指定,將會輸出被導出的軌跡的調試描述。
training(bool,default False)-導出訓練模型下的模型。目前,ONNX只面向推斷模型的導出,所以一般不需要將該項設置為True。
input_names(list of strings, default empty list)-按順序分配名稱到圖中的輸入節點。
output_names(list of strings, default empty list)-按順序分配名稱到圖中的輸出節點。
總結
以上是生活随笔為你收集整理的【神经网络量化】ONNX介绍与用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城割草死亡旋风_合成方法死亡旋风_怎
- 下一篇: 高斯算法实现