gpt4 book ai didi

python - 从无形状向量生成零矩阵

转载 作者:行者123 更新时间:2023-12-01 06:54:53 27 4
gpt4 key购买 nike

我得到了一个 Shape [None,1,None] 的张量(第一个 None 是批量大小,对应于例如 [1,1,28] ),我想生成一个 tf.zeros_like矩阵形式[None,1,None,None]其中最后两个 None 是相同的(因此在示例中为 [1,1,28,28] )。

假设 d 是形状向量 [None,1,None]我尝试的是:

z = tf.zeros_like(tf.broadcast_to(d, tf.concat([d.shape, d.shape[-1:]], axis=0)), tf.int32)

想法是:我将 d 的形状与 d 的最后一个形状连接起来,以保持大小正确,然后将 d 广播到这些形状以使用该广播的结果生成 zeros_like 。我明白只是 tf.zeros在这种情况下不起作用,因为它不适用于 None形状。但这种方法失败了,导致了这个错误: Tensors in list passed to 'values' of 'ConcatV2' Op have types [<NOT CONVERTIBLE TO TENSOR>, <NOT CONVERTIBLE TO TENSOR>] that don't all match.

最佳答案

如果你有一个三维张量a并且想要创建一个用零填充的四维张量b,其中b的前三个维度a 相同,第四个维度与 a 的第三个维度相同,您可以这样做:

s = tf.shape(a)
s = tf.concat([s, s[-1:]], axis=0)
b = tf.zeros(s, a.dtype)

关于python - 从无形状向量生成零矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58853067/

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