【问题标题】:Caffe - Concat layer input and outputCaffe - Concat 层输入和输出
【发布时间】:2017-11-05 18:48:18
【问题描述】:

我阅读了有关 Caffe website 上的 Concat 层的信息。不过不知道我的理解对不对。

假设作为输入,我有两层可以描述为 W1 x H1 x D1W2 x H2 x D2,其中 W 是宽度,H 是高度,D 是深度。

因此,据我了解,将 Axis 设置为 0 输出将是 (W1 + W2) x (H1 + H2) x D,其中 D = D1 = D2 .

将 Axis 设置为 1 输出将是 W x H x (D1 + D2),其中 H = H1 = H2 和 W = W1 = W2.

我的理解正确吗?如果不是,我将不胜感激。

【问题讨论】:

    标签: machine-learning neural-network deep-learning caffe


    【解决方案1】:

    恐怕你有点不对劲……
    this caffe.help

    通常,caffe 中的数据存储在 4D“blob”中:BxCxHxW(即按通道/特征/深度乘高乘宽)。
    现在,如果您有两个 blob B1xC1xH1xW1B2xC2xH2xW2 您可以将它们沿axis: 1(沿通道维度)连接起来用C=C1+C2 形成一个输出blob。这只有当 B1==B2H1==H2W1==W2 时才有可能,结果是 B1x(C1+C2)xH1xW1

    【讨论】:

    • 感谢您的回答!如果我理解正确,批量大小只是决定一次将多少图像发送到 GPU(或 CPU)的参数。因此,如果我将 batch_size 设置为 1,那么我可以查看 Concat 层对 2 个图像的作用。然后,我写的关于 Axis 设置为 1 的输出是正确的。对吗?
    • @AleksanderMonk 即使你的batch_size: 1 有一个带有B=1 的4D blob。请注意,caffe 中的维度顺序与您在问题中写的不同
    猜你喜欢
    • 2017-08-01
    • 2015-11-21
    • 1970-01-01
    • 2022-01-02
    • 2018-04-23
    • 2018-01-09
    • 2019-06-24
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多