在OpenCV上使用Tensorflow 2.X模型

Doch88

我必须在OpenCV框架(带有C ++的v.4.X)中使用Tensorflow 2.X模型。

为此,我需要一个.pb文件或.pb.pbtxt文件,而不是像我一样的Tensorflow Saved Model。

所以我的问题是:有没有一种方法可以将保存的模型转换为OpenCV可以读取的格式?可能是咖啡模型?

我尝试了MMdnn,但它给了我一个奇怪的错误:

Traceback (most recent call last):
  File "/usr/local/bin/mmconvert", line 8, in <module>
    sys.exit(_main())
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/_script/convert.py", line 102, in _main
    ret = convertToIR._convert(ir_args)
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/_script/convertToIR.py", line 62, in _convert
    from mmdnn.conversion.tensorflow.tensorflow_parser import TensorflowParser
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/tensorflow/tensorflow_parser.py", line 15, in <module>
    from tensorflow.tools.graph_transforms import TransformGraph
ImportError: No module named 'tensorflow.tools.graph_transforms'

我想这是因为它是使用Tensorflow 1.X开发和测试的。


编辑:我也有相对的Keras模型(现在它已与Tensorflow 2集成),但它也与OpenCV DNN框架不兼容。尝试使用MMdnn进行转换时出现此错误:

Traceback (most recent call last):
  File "/usr/local/bin/mmconvert", line 8, in <module>
    sys.exit(_main())
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/_script/convert.py", line 102, in _main
    ret = convertToIR._convert(ir_args)
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/_script/convertToIR.py", line 46, in _convert
    parser = Keras2Parser(model)
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/keras/keras2_parser.py", line 126, in __init__
    model = self._load_model(model[0], model[1])
  File "/usr/local/lib/python3.5/dist-packages/mmdnn/conversion/keras/keras2_parser.py", line 78, in _load_model
    'DepthwiseConv2D': layers.DepthwiseConv2D})
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/saving.py", line 664, in model_from_json
    return deserialize(config, custom_objects=custom_objects)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/__init__.py", line 168, in deserialize
    printable_module_name='layer')
  File "/usr/local/lib/python3.5/dist-packages/keras/utils/generic_utils.py", line 147, in deserialize_keras_object
    list(custom_objects.items())))
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/network.py", line 1056, in from_config
    process_layer(layer_data)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/network.py", line 1042, in process_layer
    custom_objects=custom_objects)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/__init__.py", line 168, in deserialize
    printable_module_name='layer')
  File "/usr/local/lib/python3.5/dist-packages/keras/utils/generic_utils.py", line 149, in deserialize_keras_object
    return cls.from_config(config['config'])
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py", line 1179, in from_config
    return cls(**config)
  File "/usr/local/lib/python3.5/dist-packages/keras/legacy/interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/convolutional.py", line 484, in __init__
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/convolutional.py", line 117, in __init__
    self.kernel_initializer = initializers.get(kernel_initializer)
  File "/usr/local/lib/python3.5/dist-packages/keras/initializers.py", line 515, in get
    return deserialize(identifier)
  File "/usr/local/lib/python3.5/dist-packages/keras/initializers.py", line 510, in deserialize
    printable_module_name='initializer')
  File "/usr/local/lib/python3.5/dist-packages/keras/utils/generic_utils.py", line 140, in deserialize_keras_object
    ': ' + class_name)
ValueError: Unknown initializer: GlorotUniform
ilke444

如果您有.h5文件,则可以使用TensorFlow尝试这种方法,而不是MMdnn该函数将当前会话转换为静态计算图以捕获当前状态。然后,您可以.pb使用格式编写图形tf.train.write_graph

model = load_model('./model/keras_model.h5')冻结图形之前,可以使用加载预训练的模型还有一个博客文章,供进一步说明。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow端口模型从1.x到2.x

来自分类Dev

如何在TensorFlow 2.x中加载Tensorflow 1.x保存的模型?

来自分类Dev

Rails模型设计决策-尝试避免使用HABTM x 2创建多个新模型

来自分类Dev

如何在 Tegra X2 上使用 TesnorFlow-GPU 模型进行推理?

来自分类Dev

使用 YUV 4:2:0 平面颜色模型在 Mac OS X 上制作 ffmpeg 屏幕截图

来自分类Dev

使用拟合的2次多项式模型从Y值预测X值

来自分类Dev

使用CakePHP 2.X从find('all')重命名模型名称

来自分类Dev

无法在Mac OS X上使用python和opencv2编写视频

来自分类Dev

cakephp 2.x beforeFind相关模型

来自分类Dev

如何在具有tensorflow v2.x后端的keras中加载具有tensorflow v1.x后端的keras模型?

来自分类Dev

在Rails 2.x应用程序中的两个模型上保持相同的属性同步?

来自分类Dev

Tensorflow 2 LSTM模型无法使用序列学习

来自分类Dev

使用 Cleverhans 的 CarliniWagnerL2 攻击 Tensorflow 模型导致 NotImplementedError

来自分类Dev

TensorFlow 2.x:无法以h5格式保存经过训练的模型(OSError:无法创建链接(名称已经存在))

来自分类Dev

自省Jersey资源模型Jersey 2.x

来自分类Dev

如何通过ID访问IEnumerable模型的项目2(或3或... x)

来自分类Dev

如果Action Emberjs 2x如何重新加载模型

来自分类Dev

TensorFlow2-模型子类化ValueError

来自分类Dev

如何在具有tensorflow2和keras的多GPU上训练模型?

来自分类Dev

TensorFlow 2.x:使用嵌入列时无法以h5格式加载经过训练的模型(ValueError:形状(101、15)和(57218、15)不兼容)

来自分类Dev

仅使用PIP为CPU安装Tensorflow 2.x

来自分类Dev

使用tensorflow的.ckpt模型

来自分类Dev

在Android上运行Tensorflow模型

来自分类Dev

如何将使用Keras模型训练的Tensorflow 2. *转换为.onnx格式?

来自分类Dev

使用2个相关模型创建和更新模型

来自分类Dev

Rails 4.2.x-在模型中使用params哈希数据

来自分类Dev

使用yii x-editable更新两个模型

来自分类Dev

nativescript是否使用2个视图模型

来自分类Dev

使用jsonschema2pojo的模型问题

Related 相关文章

  1. 1

    Tensorflow端口模型从1.x到2.x

  2. 2

    如何在TensorFlow 2.x中加载Tensorflow 1.x保存的模型?

  3. 3

    Rails模型设计决策-尝试避免使用HABTM x 2创建多个新模型

  4. 4

    如何在 Tegra X2 上使用 TesnorFlow-GPU 模型进行推理?

  5. 5

    使用 YUV 4:2:0 平面颜色模型在 Mac OS X 上制作 ffmpeg 屏幕截图

  6. 6

    使用拟合的2次多项式模型从Y值预测X值

  7. 7

    使用CakePHP 2.X从find('all')重命名模型名称

  8. 8

    无法在Mac OS X上使用python和opencv2编写视频

  9. 9

    cakephp 2.x beforeFind相关模型

  10. 10

    如何在具有tensorflow v2.x后端的keras中加载具有tensorflow v1.x后端的keras模型?

  11. 11

    在Rails 2.x应用程序中的两个模型上保持相同的属性同步?

  12. 12

    Tensorflow 2 LSTM模型无法使用序列学习

  13. 13

    使用 Cleverhans 的 CarliniWagnerL2 攻击 Tensorflow 模型导致 NotImplementedError

  14. 14

    TensorFlow 2.x:无法以h5格式保存经过训练的模型(OSError:无法创建链接(名称已经存在))

  15. 15

    自省Jersey资源模型Jersey 2.x

  16. 16

    如何通过ID访问IEnumerable模型的项目2(或3或... x)

  17. 17

    如果Action Emberjs 2x如何重新加载模型

  18. 18

    TensorFlow2-模型子类化ValueError

  19. 19

    如何在具有tensorflow2和keras的多GPU上训练模型?

  20. 20

    TensorFlow 2.x:使用嵌入列时无法以h5格式加载经过训练的模型(ValueError:形状(101、15)和(57218、15)不兼容)

  21. 21

    仅使用PIP为CPU安装Tensorflow 2.x

  22. 22

    使用tensorflow的.ckpt模型

  23. 23

    在Android上运行Tensorflow模型

  24. 24

    如何将使用Keras模型训练的Tensorflow 2. *转换为.onnx格式?

  25. 25

    使用2个相关模型创建和更新模型

  26. 26

    Rails 4.2.x-在模型中使用params哈希数据

  27. 27

    使用yii x-editable更新两个模型

  28. 28

    nativescript是否使用2个视图模型

  29. 29

    使用jsonschema2pojo的模型问题

热门标签

归档