gpt4 book ai didi

tensorflow - 如何将 TensorFlow SavedModel 图转换为 Caffe 模型?

转载 作者:行者123 更新时间:2023-12-04 15:50:13 25 4
gpt4 key购买 nike

我想使用 MMdnn将 tensorflow ResNet 模型转换为其他框架。看来我只能使用 mmconvert 从 .pb 卡住图形文件中读取。

但是,当使用 tf.estimator.Estimator 时,它创建的 .pb 文件是一个 SavedModelDef。我知道这是 tf GraphDef 的包装器。因此,可以使用 freeze_graph.py 从 SavedModel 中提取 GraphDef .pb 文件。

从那里,我将需要 tf GraphDef 中输入节点的名称。但我不确定如何通过查看 .pbtxt 来识别名称。根据框架,tf.Estimator 输入带有 tf.Dataset 对象。

我猜应该有一个接受输入的 tf.Placeholder。但我不确定如何找到输入节点的实际内容。

最佳答案

在这里回答我自己的问题。 tensorflow 附带的 freeze_graph 实用程序可用于从 tf SavedModel 格式中提取 graphdef。

要查找输入节点的名称,请确保以 pbtxt 格式保存 tf SavedModel。打开它并查找计算图的第一个节点,例如如果使用 tf resnet,第一个节点将被命名为 resnet_model/*。找到为该节点提供数据的节点,您将拥有要指定给 MMdnn 工具的输入节点的名称。我希望这是 Estimator 为输入添加的 tf.Placeholder。此节点刚刚命名为 Placeholder,因此我将其指定为输入节点。

首先提取计算图。

freeze_graph --input_saved_model_dir <path/to/saved_model_dir> --output_node_names softmax --output_graph ./graph_def.pb

然后用MMdnn转成caffe。

mmconvert -sf tensorflow -iw ./graph_def.pb --inNodeName Placeholder --inputShape 224,224,3 --dstNodeName softmax -df caffe -om tf_resnet

关于tensorflow - 如何将 TensorFlow SavedModel 图转换为 Caffe 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54122822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com