Поэтому, когда я запускаю следующий код:
import tensorflow as tf
from keras import backend as K
tensor_a = K.variable([])
def return_zero():
return 0
def get_mean():
return K.get_value(K.tf.reduce_mean(tensor_a))
is_equal = tf.equal(tf.size(tensor_a), 0)
r = tf.cond(is_equal, return_zero, get_mean)
print(r)
, я получаю сообщение об ошибке:
ValueError: Operation 'cond/IsVariableInitialized' has been marked as not fetchable.
Однако, если этот код выполняется, ошибки нет.Что дает?
tensor_a = K.variable([])
print(
K.get_value(
tf.cond(
tf.equal(tf.size(tensor_a), 0),
lambda : tf.constant(0.0), lambda: tf.reduce_mean(tensor_a)
)
)
)