将ONNX模型转换为PyTorch模型报错AttributeError: 'ModelProto' object has no attribute 'training'
时间: 2023-11-24 22:10:58 浏览: 73
解决Pytorch 加载训练好的模型 遇到的error问题
5星 · 资源好评率100%
这个错误通常是由于ONNX模型的版本问题导致的,需要将ONNX模型的版本降低到较低的版本。可以尝试使用以下步骤:
1. 安装onnx包:`pip install onnx`
2. 将ONNX模型转换为PyTorch模型:
```python
import onnx
from onnx2pytorch import ConvertModel
onnx_model = onnx.load('model.onnx')
pytorch_model = ConvertModel(onnx_model)
```
3. 如果出现错误,可以尝试使用onnx的API将模型版本降低:
```python
import onnx
from onnx import version_converter
onnx_model = onnx.load('model.onnx')
converted_model = version_converter.convert_version(onnx_model, target_version=9)
converted_model_file = 'converted_model.onnx'
onnx.save(converted_model, converted_model_file)
```
4. 将转换后的ONNX模型再次转换为PyTorch模型:
```python
pytorch_model = ConvertModel(converted_model)
```
如果还是无法解决问题,可以尝试更新或降低PyTorch版本。
阅读全文