zoukankan      html  css  js  c++  java
  • Caffe 学习:Crop 层

      

      在Fully Convolutional Networks(FCN)中,会用到Crop 层,他的主要作用是进行裁切。下面我们举一个例子来说明如何使用Crop 层。

      Caffe中的数据是以 blobs形式存在的,blob是四维数据,即 (Batch size, number of Chennels, Height, Width)=(N, C, H, W)。---(0,1,2,3)

    Crop层的输入(bottom blobs)有两个,让我们假设为A和B,输出(top)为C。

    • A是要进行裁切的bottom,他的size是 (20,50,512,512)
    • B是裁切的参考输入,他的size是(20,10,256,256)
    • C是输出(top blob),由A裁切而来,那么他的size是(20,10,256,256)

      

      在这个例子中,轴0的维度不变,我们只需要裁切blob的轴1,2,3,所以我们设置axis=1,代表我们将会裁切轴1和它之后的所有轴。

      有两个裁切模式:

    模式1---给出3个offsets,每个针对一个dimension,offset=(25,128,128)

    • axis=1,offset=(25,128,128)
    • crop operation: C = A[: , 25: 25+B.shape[1] , 128: 128+B.shape[2] , 128: 128+B.shape[3] ]
    • 也就是说,对于A的轴1,对称裁切了25-35
    • 对称裁切:offset = (Original_length - desired length ) / 2

    模式2---给出1个offset,适用于三个dimension,offset=25

    • 那么就相当于模式1 的 offset=(25,25,25)

      

      模式1的prototxt写法如下:

    layer {
      name: "crop_layer"
      type: "Crop"
      bottom: "A"
      bottom: "B"
      top: "C"
      crop_param {
        axis: 1
        offset: 25
        offset: 128
        offset: 128
      }
    }
    

      

  • 相关阅读:
    C#创建资源文件
    C#基础-获得当前程序的 空间名.类名.方法名
    C# 事务
    sql作业
    获取IP和mac地址
    winform文本框不能粘贴、复制和屏蔽右键
    Linux的iptables常用配置范例(1)
    自动化运维工具Ansible详细部署
    rsync+inotify实现数据的实时备份
    leetCode(26):Unique Binary Search Trees
  • 原文地址:https://www.cnblogs.com/kunyuanjushi/p/5937083.html
Copyright © 2011-2022 走看看