У меня есть реализация многоканального RNN с переменной длиной последовательности (проблема классификации предложений)
Я пытаюсь реализовать выборочную потерю softmax, поскольку у меня 500 классов и я хочу ускоритьобучение.
Ниже приведены мои входные параметры фигур
WLast.shape
TensorShape([Dimension(500), Dimension(500)])
bLast.shape
TensorShape([Dimension(500)])
labels.shape
TensorShape([Dimension(None), Dimension(500)])
pred_out.shape
TensorShape([Dimension(None), Dimension(500)])
Pred_out - последнее предсказание от RNN
Проблема заключается в том, что при запуске:
cost = tf.nn.sampled_softmax_loss(WLast,bLast,labels,pred_out,10,500)
это дает мне эту ошибку:
InvalidArgumentError: Dimension must be 1 but is 500 for 'sampled_softmax_loss/ComputeAccidentalHits' (op: 'ComputeAccidentalHits') with input shapes: [?,500], [10].
Я не понимаю, формы соответствуют аргументам функции, кто-то знает, что я могу делать неправильно?
Заранее спасибо!