我有一个可变序列长度的多对一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\u 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].
我不明白,形状和函数的参数匹配,有人知道我做错了什么吗?你知道吗
提前谢谢!你知道吗
我发现这个实现:https://github.com/olirice/sampled_softmax_loss 通过重塑标签解决了这个问题
相关问题 更多 >
编程相关推荐