gpt4 book ai didi

python - 在 Tensorflow 中删除张量的维度

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:38 25 4
gpt4 key购买 nike

我有一个形状为 (50, 100, 1, 512) 的张量,我想 reshape 它的形状或删除三维,以便新张量的形状为 (50, 100, 512)

我已经尝试使用 tf.slicetf.squeeze:

a = tf.slice(a, [50, 100, 1, 512], [50, 100, 1, 512])
b = tf.squeeze(a)

当我尝试打印 ab 的形状时,一切似乎都正常,但是当我开始训练我的模型时,出现了这个错误

tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected size[0] in [0, 0], but got 50
[[Node: Slice = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](MaxPool_2, Slice/begin, Slice/size)]]

我的slice有问题吗?我该如何解决。谢谢

最佳答案

通常 tf.squeeze 会降低维度。

a = tf.constant([[[1,2,3],[3,4,5]]])

上面的张量形状是[1,2,3]。执行挤压操作后,

b = tf.squeeze(a)

现在,Tensor 的形状是 [2,3]

关于python - 在 Tensorflow 中删除张量的维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52453285/

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