Ошибка в расчете кросс-энтропийных потерь в кератах - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь использовать функцию потери трофической кроссентропии внутри кератов. Ошибка:

Incompatible shapes: [512,184,55] vs. [512,55]

функция потери:

def keras_binary_cross_entropy_with_logits(tgt, pred):
return tf.nn.sigmoid_cross_entropy_with_logits(labels=tgt, logits=pred)

Идея состоит в том, чтобы сделать многослойную классификацию, где цель состоит из нескольких меток в двоичном виде. Y_true имеет форму [batch_size, label_vocab_length], а y_pred имеет форму [batch_size, sequnece_length, label_vocab_length]. В приведенном выше примере y_true =[512,55] и y_pred=[512,184,55.

Полная ошибка

InvalidArgumentError: Incompatible shapes: [512,184,55] vs. [512,55]
 [[{{node training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/BroadcastGradientArgs}} = BroadcastGradientArgs[T=DT_INT32, _class=["loc:@train...ad/Reshape"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/Shape, training_2/RMSprop/gradients/loss_5/dense_output_loss/logistic_loss/mul_grad/Shape_1)]]

Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...