一、保存格式常用的三种是:
1. 保存整个模型:使用 torch.save(model, PATH)
直接保存整个模型对象。
2.保存模型参数 :torch.save(model.state_dict(), 'model_state_dict.pth'),调用模型时需要手动初始化模型,结构必须和参数一致,否则会报错,优点是体积小(对于小模型两种格式大小差不多)
3.将模型导出为 :ONNX(Open Neural Network Exchange)格式,便于跨平台使用。
二、查看不同保存方式的区别:
1、保存参数的方法,打开模型看到的也是参数,可以看到每一层的参数量:
weight:输出通道*输入通道*卷积核
bias:输出通道个数
上述模型可以看到四个卷积层+一个双向lstm+全链接层
2、保存整个模型,打开可以看到完整结构,包括激活函数、池化层、全连接层还有输出层的全貌
3、onnx通常用于边端部署等,例如rk3588,在使用rknn_tookits转换工具时,官方提供的就是将onnx格式文件转换成npu可以部署的格式,涉及到量化操作等
三、常用公式