gpt4 book ai didi

python - 将矩阵从 [?, 100] reshape 为 [batch_size, ?, 100]

转载 作者:行者123 更新时间:2023-12-01 07:49:51 26 4
gpt4 key购买 nike

我正在构建一个基于 RNN 的自动编码器。在 FC 层之后,我必须将输出 reshape 为 [batch_size、sequence_length、embedding_dimension]。但是,我的解码器的序列length(timestep) 是不确定的。我希望能够按如下方式工作。

outputs = tf.reshape(outputs, [batch_size, None, word_dimension])

或者,有没有其他方法可以从形状为[batch_size,sequence_length,embedding_dimension]的输入数据中获取序列长度。

最佳答案

您可以使用 -1 作为 reshape 操作中要自动计算的尺寸。

例如这里:

x = tf.zeros((100 * 10 *12,))
reshaped = tf.reshape(x, [100, -1, 12])

reshape 将具有形状 (100, 10, 12)

Or, is there any other way for me to get the sequence length from the input data which has a shape [batch_size, sequence_length, embedding_dimension].

您可以使用tf.shape操作在运行时查找张量的形状,因此如果您希望在形状为[batch_size, sequence_length, embedding_dimension],只需调用tf.shape(x)[1]即可。

对于上面的示例,调用:

tf.shape(reshaped)[1]

将给出一个 int32 张量,其形状为 () 且值为 10

关于python - 将矩阵从 [?, 100] reshape 为 [batch_size, ?, 100],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com