具有RNN维数失配问题的张量流抽样软最大损失

2024-06-09 08:46:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个可变序列长度的多对一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].

我不明白,形状和函数的参数匹配,有人知道我做错了什么吗?你知道吗

提前谢谢!你知道吗


Tags: none参数labelsout形状blastshapedimension