- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 Matterport's MaskRCNN implementation 在 .h5 中构建了一个自定义模型.我使用 model.keras_model.save()
设法保存了完整模型而不是单独的权重,并假设它工作正常。
我需要将此模型转换为 ONNX 以在 Unity Barracuda 中进行推理,并且在此过程中遇到了几个错误。我试过:
T1。 .h5 到 ONNX 使用 this tutorial和 keras2onnx 包,我在以下位置遇到错误:
model = load_model('model.h5')
Error:
ValueError: Unknown layer: BatchNorm
T2。使用 this GitHub code 定义自定义层:
model = keras.models.load_model(r'model.h5', custom_objects={'BatchNorm':BatchNorm,
'tf':tf, 'ProposalLayer':ProposalLayer,
'PyramidROIAlign1':PyramidROIAlign1, 'PyramidROIAlign2':PyramidROIAlign2,
'DetectionLayer':DetectionLayer}, compile=False)
Error:
ValueError: No model found in config file.
ValueError: Unknown layer: PyramidROIAlign
T3。 .h5 到 .pb(卡住图)和 .pbtxt,然后在找到输入和输出节点(似乎只有一个?)后使用 tf2onnx 从 .pb 到 ONNX:
assert d in name_to_node, "%s is not in graph" % d
AssertionError: output0 is not in graph
T4。 .h5 到 SavedModel 使用 tf 服务代码 from here然后 python -m tf2onnx.convert --saved-model exported_models\coco_mrcnn\3 --opset 15 --output "model.onnx"
转换为 ONNX:
ValueError: make_sure failure: variable mrcnn_detection/map/while/Enter already exists as state variable.
TLDR:有没有办法通过任何直接/间接方式将我的 .h5 模型转换为 ONNX?我已经坚持了好几天了!
提前致谢。
编辑 1:似乎 keras.models.load_model()
抛出前两个错误 - 想知道是否有一种方法可以使用 .pb/.pbtxt 模型,或者不使用 的方法load_model()
,还是解决 load_model()
问题的方法?
编辑 2:
Code for T1 :自 Matterport's MaskRCNN implementation 修改的自定义数据集
最佳答案
尝试将其转换为保存的模型格式,然后再转换为 onnx。
import numpy as np
import tensorflow as tf
from tensorflow import keras
def get_model():
# Create a simple model.
inputs = keras.Input(shape=(32,))
outputs = keras.layers.Dense(1)(inputs)
model = keras.Model(inputs, outputs)
model.compile(optimizer="adam", loss="mean_squared_error")
return model
model = get_model()
# Train the model.
test_input = np.random.random((128, 32))
test_target = np.random.random((128, 1))
model.fit(test_input, test_target)
# Calling `save('my_model.h5')` creates a h5 file `my_model.h5`.
model.save("my_h5_model.h5")
# It can be used to reconstruct the model identically.
model = keras.models.load_model("my_h5_model.h5")
tf.saved_model.save(model, "tmp_model")
然后使用 tf2onnx 进行转换。
python3 -m tf2onnx.convert --saved-model tmp_model --output "model.onnx"
关于tensorflow - 无法将 .h5 模型转换为 ONNX 以通过任何方式进行推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69007059/
当我将在 Pytorch 上训练的双线性层网络转换为 ONNX 时,出现以下错误 RuntimeError: [ONNXRuntimeError] : 10 : INVALID_GRAPH : Loa
当我将在 Pytorch 上训练的双线性层网络转换为 ONNX 时,出现以下错误 RuntimeError: [ONNXRuntimeError] : 10 : INVALID_GRAPH : Loa
我尝试将我的 PyTorch 对象检测模型 (Faster R-CNN) 转换为 ONNX。我有两个设置。第一个工作正常,但出于部署原因我想使用第二个。区别在于我用于导出函数 torch.onnx.e
我正在尝试从 onnx 模型中提取输入层、输出层及其形状等数据。我知道有 python 接口(interface)可以做到这一点。我想做类似的事情 code但在 C++ 中。我还粘贴了链接中的代码。我
** ONNX Runtime****:由微软推出,用于优化和加速机器学习推理和训练**,适用于ONNX模型,是一个跨平台推理和训练机器学习加速器(ONNX Runtime is a cro
我已将我的 PyTorch 模型导出到 ONNX。现在,有没有办法让我从那个 ONNX 模型中获取输入层? 将 PyTorch 模型导出到 ONNX import torch.onnx checkpo
如何找到 onnx 模型的输入大小?我最终想从 python 编写它的脚本。 使用 tensorflow 我可以恢复图定义,从中找到输入候选节点,然后获取它们的大小。我可以用 ONNX(甚至更简单)做
我正在使用 ML.NET 导入 ONNX 模型来进行对象检测。作为记录,我从 Microsoft 的 CustomVision.ai 站点导出了模型。 我检查了 Netron 中的模型文件,它清楚地显
如何从 ONNX 模型中获取权重/偏置矩阵值,我目前可以从 model.onnx 中获取输入、内核大小、步幅和填充值。我加载模型,然后读取图形节点以获得相同的结果: import onnx m = o
我正在尝试将预先训练好的火炬模型转换为 ONNX,但收到以下错误: RuntimeError: step!=1 is currently not supported 我正在一个预先训练的着色模型上尝试
使用 ONNX Runtime 在深度学习模型上运行推理。假设我有 4 个不同的模型,每个模型都有自己的输入图像,我可以在 4 个线程中并行运行它们吗?会不会有一个“环境”,然后是 4 个 sessi
我已通过以下方式将模型导出到 ONNX: # Export the model torch_out = torch.onnx._export(learn.model, # mo
如何将 OpenCV 框架转换为适合我的 ONNX 模型接受的尺寸?目前,我的 ONNX 模型输入形状是 [32, 3, 256, 224],但是当我使用 OPENCV 调整大小并打印 img 形状时
我尝试将我的 pytorch Resnet50 模型转换为 ONNX 并进行推理。转换程序没有错误,但是onnx模型的最终结果来自onnxruntime与pytorch的origin模型结果有较大差距
我有一个卡住为 .pb 的 TensorFlow 图,我想将其转换为 .onnx 格式。我目前正在尝试使用 mmconvert (来自 Microsoft 的 MMdnn ),显然我做错了什么(请参见
我目前正在尝试将我使用本教程创建的已保存(且正在工作)的 .pb 文件 ( https://github.com/thtrieu/darkflow ) 转换为 onnx 文件。我现在正在使用winML
我正在尝试将具有多个网络的 pytorch 模型转换为 ONNX,但遇到了一些问题。 git 存储库:https://github.com/InterDigitalInc/HRFAE 训练师类: cl
我从 Matterport's MaskRCNN implementation 在 .h5 中构建了一个自定义模型.我使用 model.keras_model.save() 设法保存了完整模型而不是单
我找不到任何人向外行人解释如何将 onnx 模型加载到 python 脚本中,然后在输入图像时使用该模型进行预测。我能找到的只有这些代码行: sess = rt.InferenceSession("o
有没有办法并行运行多个 ONNX 模型并使用多个可用内核? 目前,我已经训练了两个 ONNX 模型并想使用它们进行推断。我使用了 Python 中的线程,但这并没有真正使用多核。 之后,我尝试了多处理
我是一名优秀的程序员,十分优秀!