gpt4 book ai didi

python - tensorflow 中的连接层

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

给定 2 个 3D 张量 t1 = [?, 1, 1, 1, 2048]t2 = [?, 3, 1, 1, 256]图像,这些将如何连接?目前,我正在使用:

tf.concat([t1, t2], 4)

但是,考虑到我的架构有大量的层和许多连接,我最终有一个太大的张量(就 channel /特征而言)无法初始化。 这是实现连接层的正确方法吗?

enter image description here

最佳答案

首先,inception layer中的tensors的形状并不是你定义的那样。 1x11x33x1 是应用于图像的过滤器的形状。卷积中还有两个参数:paddingstriding,根据它们的确切值,结果形状可能会有很大不同。

在这种特殊情况下,空间形状没有改变,只有 channels 维度将是 2048256,这就是为什么它们可以连接起来。原始 t1t2 的串联将导致错误。

Is this the correct way to implement a concatenation layer?

是的,特征图串联是初始网络的关键思想之一,其实现确实使用了 tf.concat(例如,参见 inception v1 source code)。

请注意,此张量将在一个方向( channel /特征)上增长,但由于下采样而在空间维度上收缩,因此它不会变得太大。另请注意,此张量是转换后的输入数据(图像),因此与权重不同,它未初始化,而是通过网络。权重将是张量 1x1x2048=20481x3x224=6723x1x256=768 等 - 如您所见,它们不是很大完全没有,这是初始网络的另一个想法。

关于python - tensorflow 中的连接层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47017880/

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