tf报错之raise TypeError(“pred must not be a Python bool“)

查阅资料发现原来是代码里定义的字符常量不是tf.bool类型
错误出处:

is_training = False
result = tf.cond(
        is_training,
        lambda: npu_ops.dropout(X, keep_prob),  # tf.nn.dropout(X, keep_prob),
        lambda: tf.identity(X),
        name='dropout'
    )

解决办法,将其定义为tf.bool的常量即可

is_training = tf.constant(False, dtype=tf.bool)###
result = tf.cond(
        is_training,
        lambda: npu_ops.dropout(X, keep_prob),  # tf.nn.dropout(X, keep_prob),
        lambda: tf.identity(X),
        name='dropout'
    )

猜你喜欢

转载自blog.csdn.net/qq_41368074/article/details/110804478