在Tensorflow中,我可以使用tf.聚集()用于部分连接?

2024-10-02 04:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试实现层之间的部分连接。比方说,我只想使用一些特征图,例如第一个和第三个。在

  • 使用正确吗tf.聚集()为此目的?在
  • 我可以只使用索引运算符[]而不是tf.聚集()如下所示?在
  • 收集索引对反向传播有效吗?我很难想象Tensorflow会如何从内部反向支撑过程中的第一个和第三个(哪些信息是硬编码的)内部知道连接。有功能吗tf.聚集还记得联系吗?在

代码:

# let say, L1 is layer1 output of shape [batch_size x image_size x image_size x depth1]
partL1 = L1[:, :, :, [0,2]]
# W2 is a tf variable of shape [5, 5, 2, depth2]
conv2 = tf.nn.conv2d(partL1, W2)

Tags: ofimage目的l1sizeis过程tf
1条回答
网友
1楼 · 发布于 2024-10-02 04:23:54

是的,不是的,是的。:-) (a) 是的,您可以按照您的建议,使用“聚集”拾取要传播到下一层的层的子集。在

(b)不,很遗憾,您不能使用索引运算符。您需要显式地调用tf.gather()。在

(c)是的,TensorFlow将保存一份用于收集的索引的副本,并将其保存为backprop。如果您对the implementation of Gather's Gradient很好奇,您可以看到the implementation of Gather's Gradient如何查看到操作的输入并使用这些输入进行传播。在

相关问题 更多 >

    热门问题