我使用concat将形状[150,1]的张量t2追加到最初形状为[150,0]的张量t1上。我想创建一个形状为[150,1]的张量(在轴上连接= 1),并用新张量覆盖t1。这里是我的代码:TensorFlow将连续张量分配给不同形状的张量
t1.assign(tf.concat(1, [t1, t2]))
我得到的错误是:
ValueError: Dimension 1 in both shapes must be equal, but are 0 and 1
奇怪的是,我得到了同样的错误,当我设置轴= 0。不知道发生了什么;这应该是一件非常容易的事情。我怀疑它与t1的维度1为0有什么关系。有什么建议吗?提前致谢。
[编辑]
事实证明,这个问题是用 “分配”,因为我设定值T1(形状(150,0))到CONCAT结果(形状(150,1)),其正在让我的TF尖叫(理所当然)。任何方式在这个?
为了提供更多的上下文,t1是一个张量,我用它来存储从展开seq2seq RNN产生的logit t2,其中输出序列具有未知长度。所以t1的大小将随着每次展开而在维度1中增加。
这听起来像你在正确的轨道上。你能给出一个小的,自包含的例子来说明问题吗? –
@PeterHawkins事实证明,问题与“分配”,而不是“concat”;我不能给一个张量(150,1)(连续张量)赋予张量为(150,0)(t1)的张量。有没有解决的办法? 此外,不知道这是否奇怪,但我看到你是(或者)是斯坦福大学的博士候选人。我是斯坦福大学的新生本科生! –