我有一个经过训练的模型(我自己训练过),它是 .h5 格式,它本身可以正常工作,但我需要将其转换为 .onnx 格式以便在 Unity Engine 中部署它,我搜索了如何转换 .h5 模型到 .onnx 格式并偶然发现了 keras2onnx 库,按照一些教程我得到了这个:
!pip install git+https://github.com/microsoft/onnxconverter-common
!pip install git+https://github.com/onnx/keras-onnx
Run Code Online (Sandbox Code Playgroud)
import keras
import keras2onnx
import onnx
from tensorflow.keras.models import load_model
model = load_model('/content/drive/MyDrive/Sae/TesisProgra/CNNs/ParagrapshVsDrawings/REDPropiaFinal.h5')
onnx_model = keras2onnx.convert_keras(model, model.name)
temp_model_file = '/content/drive/MyDrive/Sae/TesisProgra/CNNs/ParagrapshVsDrawings/REDPropiaFinal.onnx'
onnx.save_model(onnx_model, temp_model_file)
Run Code Online (Sandbox Code Playgroud)
问题是我不断收到错误代码: AttributeError: 'KerasTensor' object has no attribute 'graph',我尝试了不同的代码实现,但不断收到相同的错误,所以也许我的训练模型有问题?我真的不知道,我很迷茫,有人帮忙吗?这是我第一次处理 .onnx 格式,
如果您想在此处查看我的模型,它是一个 链接,我的模型接受过分析图像和区分具有绘图的图像与具有笔迹的图像的训练。最后,我的 CNN model.summary() 是这样的:
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input (Conv2D) (None, 436, 308, 64) 640
_________________________________________________________________
max_pooling2d …Run Code Online (Sandbox Code Playgroud)