使用tensorflow 2.0 代码在优化器最小化功能中有错误。 如何修改代码?
def cost(logits, labels):
with tf.name_scope('loss'):
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=labels)
cross_entropy_cost = tf.reduce_mean(cross_entropy)
print(cross_entropy_cost)
return cross_entropy_cost
test_image = tf.compat.v1.placeholder(float, [100, 32, 32, 3])
test_label = tf.compat.v1.placeholder(float, [100, 100])
cifar100 = Cifar100DataReader(cifar_folder="/cifar_100/cifar-100-python")
data, label = cifar100.next_train_data()
label_100 = np.argmax(label, 1)
network = ResNet()
output_label = network.Build(test_image, 1)
cross_entropy = cost(output_label, label_100)
opt = tf.keras.optimizers.SGD(0.0001, 0.9)
var = tf.compat.v1.trainable_variables()
train_step = opt.minimize(loss=cross_entropy, var_list=var)
line 32, in <module>
train_step = opt.minimize(loss=cross_entropy, var_list=var)
line 317, in minimize
loss, var_list=var_list, grad_loss=grad_loss)
in _compute_gradients
loss_value = loss()
TypeError: 'Tensor' object is not callable