ValueError: выходное имя: logits / BiasAdd, было предоставлено, но граф Tensorflow не содержит тензор с этим именем - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю над проектом, который обнаруживает область глаза, и у меня есть модель замороженного вывода.Я пытаюсь преобразовать эту модель в .mlmodel (используя tfcoreml), но у меня появляется эта ошибка:

ValueError: имя выхода: logits / BiasAdd предоставлено, но график Tensorflow не содержиттензор с этим именем.

Но на графике существует тензор, такой: graph of the model

+ Это входной тензор (input_to_float):

Input tensor

+ Это тензор вывода (logits / BiasAdd):

output tensor

и этот код, который я использую для преобразования:


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]})

Как я могу решить эту ошибку?

1 Ответ

0 голосов
/ 19 сентября 2019

Я могу сказать, что решил свою проблему, выполнив следующие действия: Как использовать переобученный график «тензорного потока для поэтов» на iOS?

После оптимизации замороженного графика я получаю заполнительвместо OneShotterator, IteratorGetNext и приведение.Перед преобразованием: (оптимизированный график)

, но я не уверен, потому что сомневаюсь, что 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
}
}
]

enter image description here

После преобразования (файл .mlmodel)

enter image description here

...