Machine learning ValueError:没有为任何可变自定义损失提供渐变
我有下面的代码告诉我“Tensorflow没有为任何变量提供梯度” 在这里您可以找到可以执行的代码:Machine learning ValueError:没有为任何可变自定义损失提供渐变,machine-learning,deep-learning,Machine Learning,Deep Learning,我有下面的代码告诉我“Tensorflow没有为任何变量提供梯度” 在这里您可以找到可以执行的代码: 对于梯度问题,您忘记返回损耗,这就是原因 def custom_loss(lam): def loss(y_true, y_pred): # Do your loss on your subset print(y_true) print(y_pred) y_pred_n_aux, y_pred_aux, pseudo_lables = y_pred[:,
对于梯度问题,您忘记返回损耗,这就是原因
def custom_loss(lam):
def loss(y_true, y_pred):
# Do your loss on your subset
print(y_true)
print(y_pred)
y_pred_n_aux, y_pred_aux, pseudo_lables = y_pred[:, :1], y_pred[:, 1:1280], y_pred[:, 1280:]
l1 = tf.nn.softmax_cross_entropy_with_logits(labels=y_pred_n_aux, logits=y_true)
l2 = tf.nn.softmax_cross_entropy_with_logits(labels=y_pred_aux,logits=pseudo_lables)
return l1 + lam*l2
return loss
def custom_loss(lam):
def loss(y_true, y_pred):
# Do your loss on your subset
print(y_true)
print(y_pred)
y_pred_n_aux, y_pred_aux, pseudo_lables = y_pred[:, :1], y_pred[:, 1:1280], y_pred[:, 1280:]
l1 = tf.nn.softmax_cross_entropy_with_logits(labels=y_pred_n_aux, logits=y_true)
l2 = tf.nn.softmax_cross_entropy_with_logits(labels=y_pred_aux,logits=pseudo_lables)
return l1 + lam*l2
return loss