gpt4 book ai didi

python - TensorFlow:如何通过权重变量对批量张量进行批处理?

转载 作者:太空狗 更新时间:2023-10-30 00:06:02 25 4
gpt4 key购买 nike

我有以下批量形状:

 [?,227,227]

以及以下权重变量:

 weight_tensor = tf.truncated_normal([227,227],**{'stddev':0.1,'mean':0.0})

weight_var = tf.Variable(weight_tensor)

但是当我执行 tf.batch_matmul 时:

 matrix = tf.batch_matmul(prev_net_2d,weight_var)

我因以下错误而失败:

ValueError: Shapes (?,) and () must have the same rank


所以我的问题变成了:我该怎么做?

我如何在 2D 中使用一个 weight_variable 乘以每个单独的图片 (227x227) 以便我有一个 (227x227) 输出?此操作的平面版本完全耗尽了资源...加上梯度不会在平面形式中正确更改权重...


或者:如何沿批量维度 (?,) 拆分传入的张量,以便我可以使用我的 weight_variable 在每个拆分张量上运行 tf.matmul 函数?

最佳答案

您可以沿第一个维度平铺权重

weight_tensor = tf.truncated_normal([227,227],**{'stddev':0.1,'mean':0.0})
weight_var = tf.Variable(weight_tensor)
weight_var_batch = tf.tile(tf.expand_dims(weight_var, axis=0), [batch_size, 1, 1])
matrix = tf.matmul(prev_net_2d,weight_var_batch)

虽然 batch_matmul 不存在了

关于python - TensorFlow:如何通过权重变量对批量张量进行批处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36870792/

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