gpt4 book ai didi

caffe 全卷积 cnn - 如何使用裁剪参数

转载 作者:行者123 更新时间:2023-12-04 23:16:51 26 4
gpt4 key购买 nike

我正在尝试为我的问题训练一个完全卷积的网络。我正在使用实现 https://github.com/shelhamer/fcn.berkeleyvision.org .
我有不同的图像大小。

  • 我不确定如何在“裁剪”图层中设置“偏移”参数。
  • 'Offset' 参数的默认值是什么?
  • 如何使用此参数裁剪中心周围的图像?
  • 最佳答案

    根据Crop layer documentation ,它需要两个底部 blob 并输出一个顶部 blob。我们将底部的 blob 称为 AB ,顶部 blob 为 T .

    A -> 32 x 3 x 224 x 224
    B -> 32 x m x n x p

    然后,
    T -> 32 x m x n x p

    关于轴参数,来自文档:

    Takes a Blob and crop it, to the shape specified by the second input Blob, across all dimensions after the specified axis.



    这意味着,如果我们设置 axis = 1 ,那么它将裁剪尺寸 1、2、3。如果 axis = 2 ,然后 T应该是大小 32 x 3 x n x p .您也可以将轴设置为负值,例如 -1 ,这意味着最后一个维度,即在这种情况下为 3。

    关于偏移参数,我查看了 $CAFFE_ROOT/src/caffe/proto/caffe.proto(在第 630 行),我没有找到偏移参数的任何默认值,所以我假设您必须提供该参数,否则它将导致错误。不过,我可能错了。

    现在,Caffe 知道您需要一个大小为 m 的 blob。在第一个轴上。我们仍然需要告诉 Caffe 从哪里裁剪。这就是偏移量的来源。如果偏移量是 10 ,然后你的 blob 大小 m将从 10 开始裁剪并结束于 10+m-1 (总大小 m )。为 offset 设置一个值以在所有维度中按该数量裁剪(由 axis 确定,还记得吗?在本例中为 1, 2, 3 )。否则,如果您想以不同的方式裁剪每个维度,您必须指定等于被裁剪的维度数量(在本例中为 3)的偏移数量。所以总结一下,

    如果您有一个大小为 32 x 3 x 224 x 224 的 Blob 并且您想裁剪大小为 32 x 3 x 32 x 64 的中心部分,那么您将按如下方式编写裁剪层:
    layer {
    name: "T"
    type: "Crop"
    bottom: "A"
    bottom: "B"
    top: "T"
    crop_param {
    axis: 2
    offset: 96
    offset: 80
    }
    }

    关于caffe 全卷积 cnn - 如何使用裁剪参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38588943/

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