2d张量到1个3d张量的列表

问题描述

我有一个单词嵌入的句子列表。所以每个句子都是16 * 300的矩阵,所以它是2d张量。我想将它们连接到3d张量并将此3d张量用作CNN模型的输入。不幸的是,我无法将其放入这个3d张量。

我认为,至少应该通过tf.concat将这些2d张量中的两个连接到较小的3d张量中。不幸的是,我收到以下错误消息

tf.concat(0,[Tweets_final.Text_M[0],Tweets_final.Text_M[1]])

ValueError: Shape (3,16,300) must have rank 0

如果它与两个2d张量一起工作,我可能会与一个循环一起工作

列表中的这些2d张量之一看起来像这样:

<tf.Tensor: shape=(16,300),dtype=float32,numpy= array([[-0.03571776,0.07699937,-0.02208528,...,0.00873246,-0.05967658,-0.03735098],[-0.03044251,0.050944,-0.02236165,-0.01745957,0.01311598,0.01744673],[ 0.,0.,0.        ],0.        ]],dtype=float32)>

解决方法

您可以在文档中找到解决方案: https://www.tensorflow.org/api_docs/python/tf/stack

tf.stack :将等级R张量列表堆叠到一个等级(R + 1)张量中。

>>> y = tf.constant([2,5])
>>> z = tf.constant([3,6])
>>> tf.stack([x,y,z])
<tf.Tensor: shape=(3,2),dtype=int32,numpy=
array([[1,4],[2,5],[3,6]],dtype=int32)>
>>> tf.stack([x,z],axis=1)
<tf.Tensor: shape=(2,3),2,3],[4,5,dtype=int32)>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...