OperatorNotAllowedInGraphError:在执行图时不允许使用tf.Tensor作为Python bool

时间:2020-01-18 06:14:22

标签: python machine-learning keras coreml coremltools

嘿,我试图将我的Keras模型转换为CoreML,但我不断收到此错误:

tensorflow.python.framework.errors_impl.OperatorNotAllowedInGraphError: using a tf.Tensor as 
a Python bool is not allowed in Graph execution. Use Eager execution or decorate this 
function with @tf.function.

这是我的代码:

import keras
import coremltools
import tensorflow as tf

model = keras.models.load_model('machine.h5')

print(model.input)
print(model.input_shape)
print(model.output)

model= coremltools.converters.keras.convert(
'machine.h5', input_name_shape_dict={'embedding_input:0': (None, 24)},
output_names=['dense_2/Sigmoid:0'])

model.save('xcodeModel.mlmodel')

不知道我在做什么错。希望对此有一个答案!

1 个答案:

答案 0 :(得分:-1)

我认为错误是来自您使用的Tensorflow和Keras版本。请将Tensorflow降级为“ 1.14.0”版本,并将Keras降级为“ 2.2.4”版本,也许可以解决该问题。