【问题标题】:ValueError: output name: logits/BiasAdd, was provided, but the Tensorflow graph does not contain a tensor with this nameValueError:输出名称:logits/BiasAdd,已提供,但 Tensorflow 图不包含具有此名称的张量
【发布时间】:2019-09-20 19:04:55
【问题描述】:

我正在从事一个检测眼睛区域的项目,并且我有一个冻结的推理模型。 我正在尝试将此模型转换为 .mlmodel(使用 tfcoreml),但出现此错误:

ValueError: output name: logits/BiasAdd 已提供,但 Tensorflow 图不包含具有此名称的张量。

但是张量存在于图上,这个:

+ 这是输入张量(input_to_float):

+ 这是输出张量(logits/BiasAdd):

这是我用于转换的代码:


import tfcoreml as tf_converter
tf_converter.convert(tf_model_path='C:\\Users\\User\\cnn-facial-landmark\\irismodel\\freeze2\\frozen_inf_model_iris.pb',
                     mlmodel_path='irismodelios.mlmodel',
                     output_feature_names=['logits/BiasAdd'],
                     input_name_shape_dict={'input_to_float': [1, 112, 112, 3]})

我该如何解决这个错误?

【问题讨论】:

  • 试试logits/BiasAdd:0,最后加上:0
  • 当我尝试 logits/BiasAdd:0 时,我得到其他错误 >NotImplementedError: Unsupported Ops of type: OneShotterator,IteratorGetNext,Shape,Pack

标签: python tensorflow model coreml


【解决方案1】:

我可以说我通过以下方式解决了我的问题:How to use a retrained "tensorflow for poets" graph on iOS?

优化冻结图后,我得到占位符而不是 OneShotter、IteratorGetNext 和 cast。 转换前:(优化图)

,但我不确定,因为我怀疑 input_to_float 应该有 [1,112,112,3] 而不是 [3,112,112]:

CMD 日志:

Core ML input(s):
[name: "input_to_float__0"
type {
multiArrayType {
shape: 3
shape: 112
shape: 112
dataType: DOUBLE
}
}
]
Core ML output(s):
[name: "logits__BiasAdd__0"
type {
multiArrayType {
shape: 80
dataType: DOUBLE
}
}
]

转换后(.mlmodel 文件)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-15
    • 2021-06-06
    • 1970-01-01
    • 2016-08-21
    • 2016-05-22
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多