PyTorch学习记录:onnx模型部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch学习记录:onnx模型部署相关的知识,希望对你有一定的参考价值。

原则:

Python for Training
C++ for Inference

PyTorch模型导出:
PyTorch使用.pth文件来对神经网络的权重进行保存,.pth文件中的模型权重则是按照字典格式进行保存的,但是.pth文件中没有网络的结果信息。需要借助开放神经网络交换(Open Neural Network Exchange, ONNX)框架将模型导出为结构和权重完整的.onnx文件。

模型参数量

model = FPN()
num_params = sum(p.numel() for p in model.parameters())
print("num of params: :.2fk".format(num_params/1000.0))
# torch.numel()返回tensor的元素数目,即number of elements

打印模型

model = FPN()
num_params = sum(p.numel() for p in model.parameters())
print("num of params: :.2fk".format(num_params/1000.0))
print("===========================")
#for p in model.parameters():
#    print(p.name)
print(model)

参考资料

以上是关于PyTorch学习记录:onnx模型部署的主要内容,如果未能解决你的问题,请参考以下文章

模型转换 PyTorch转ONNX 入门

pytorch C++部署模型 ONNX tensorRT

对象检测模型 (PyTorch) 到 ONNX:ONNX 推理的空输出

Pytorch模型(.pth)转onnx模型(.onnx)

Pytorch的pth模型转onnx,再用ONNX Runtime调用推理(附python代码)

ONNX简介