python - reshape 具有多个未知维度的张量

标签 python tensorflow keras

我需要能够仅在其最后一个轴上 reshape 张量:

(None, 4) --> (None, 2, 2),

在执行时可以有这样的实例:

(128, 10, 4) --> (128, 10, 2, 2)
(128, 4) --> (128, 2, 2)

是否有直接的解决方案,或者我需要迭代第一个轴(通过排除最后一个轴),并考虑它可以为“无”的情况?

最佳答案

你可以这样做:

my_tensor = ...
new_shape = tf.concat([tf.shape(my_tensor)[:-1], [2, 2]], axis=0)
my_tensor_reshaped = tf.reshape(my_tensor, new_shape)

关于python - reshape 具有多个未知维度的张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60230863/

相关文章:

python - 在 Flask 中使用 pymysql 时出错

python - 从python的特定程序打开文件

github - 使用哪个Tensorflow Docker镜像?

python - keras 嵌入选项、batch_size 和单位数量 -- 关于目标形状的 valueerror

python - 无法在损失函数中使用VGG特征的MSE

python - 如何让 pyuic4 自动将标签设置为 "MainWindow"?

python - Django 模板中的后向关系

python - 使用 Tensorflow 中的 BERT 模型时出错

tensorflow - 在 tensorflow 中恢复使用可变输入长度训练的模型导致 InvalidArgumentError

python - 属性错误: 'function' object has no attribute 'preprocess_input'