最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Caffe卷積神經(jīng)網(wǎng)絡(luò)視覺層Vision?Layers及參數(shù)詳解

 更新時間:2022年06月29日 11:31:00   作者:denny402  
這篇文章主要為大家介紹了Caffe卷積神經(jīng)網(wǎng)絡(luò)視覺層Vision?Layers及參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

所有的層都具有的參數(shù),如name, type, bottom, top和transform_param請參看我的前一篇文章:Caffe卷積神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)層及參數(shù)

本文只講解視覺層(Vision Layers)的參數(shù),視覺層包括Convolution, Pooling,Local Response Normalization (LRN), im2col等層。

1、Convolution層:

就是卷積層,是卷積神經(jīng)網(wǎng)絡(luò)(CNN)的核心層。

層類型:Convolution

lr_mult: 學(xué)習(xí)率的系數(shù),最終的學(xué)習(xí)率是這個數(shù)乘以solver.prototxt配置文件中的base_lr。

如果有兩個lr_mult, 則第一個表示權(quán)值的學(xué)習(xí)率,第二個表示偏置項的學(xué)習(xí)率。一般偏置項的學(xué)習(xí)率是權(quán)值學(xué)習(xí)率的兩倍。

在后面的convolution_param中,我們可以設(shè)定卷積層的特有參數(shù)。

必須設(shè)置的參數(shù):

  • num_output: 卷積核(filter)的個數(shù)
  • kernel_size: 卷積核的大小。如果卷積核的長和寬不等,需要用kernel_h和kernel_w分別設(shè)定

其它參數(shù):

  • stride: 卷積核的步長,默認(rèn)為1。也可以用stride_h和stride_w來設(shè)置。
  • pad: 擴充邊緣,默認(rèn)為0,不擴充。 擴充的時候是左右、上下對稱的,比如卷積核的大小為5*5,那么pad設(shè)置為2,則四個邊緣都擴充2個像素,即寬度和高度都擴充了4個像素,這樣卷積運算之后的特征圖就不會變小。也可以通過pad_h和pad_w來分別設(shè)定。
  • weight_filler: 權(quán)值初始化。 默認(rèn)為“constant",值全為0,很多時候我們用"xavier"算法來進行初始化,也可以設(shè)置為”gaussian"
  • bias_filler: 偏置項的初始化。一般設(shè)置為"constant",值全為0。
  • bias_term: 是否開啟偏置項,默認(rèn)為true, 開啟

group: 分組,默認(rèn)為1組。如果大于1,我們限制卷積的連接操作在一個子集內(nèi)。如果我們根據(jù)圖像的通道來分組,那么第i個輸出分組只能與第i個輸入分組進行連接。

如果設(shè)置stride為1,前后兩次卷積部分存在重疊。如果設(shè)置pad=(kernel_size-1)/2,則運算后,寬度和高度不變。

示例:

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  convolution_param {
    num_output: 20
    kernel_size: 5
    stride: 1
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}

2、Pooling層

也叫池化層,為了減少運算量和數(shù)據(jù)維度而設(shè)置的一種層。

層類型:Pooling

必須設(shè)置的參數(shù):

kernel_size: 池化的核大小。也可以用kernel_h和kernel_w分別設(shè)定。

其它參數(shù):

  • pool: 池化方法,默認(rèn)為MAX。目前可用的方法有MAX, AVE, 或STOCHASTIC
  • pad: 和卷積層的pad的一樣,進行邊緣擴充。默認(rèn)為0
  • stride: 池化的步長,默認(rèn)為1。一般我們設(shè)置為2,即不重疊。也可以用stride_h和stride_w來設(shè)置。

示例:

layer {
  name: "pool1"
  type: "Pooling"
  bottom: "conv1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}

pooling層的運算方法基本是和卷積層是一樣的。

如果設(shè)置stride為2,前后兩次卷積部分不重疊。100*100的特征圖池化后,變成50*50.

3、Local Response Normalization (LRN)層

此層是對一個輸入的局部區(qū)域進行歸一化,達(dá)到“側(cè)抑制”的效果??扇ニ阉鰽lexNet或GoogLenet,里面就用到了這個功能

層類型:LRN

參數(shù):全部為可選,沒有必須

  • local_size: 默認(rèn)為5。如果是跨通道LRN,則表示求和的通道數(shù);如果是在通道內(nèi)LRN,則表示求和的正方形區(qū)域長度。
  • alpha: 默認(rèn)為1,歸一化公式中的參數(shù)。
  • beta: 默認(rèn)為5,歸一化公式中的參數(shù)。
  • norm_region: 默認(rèn)為ACROSS_CHANNELS。有兩個選擇,ACROSS_CHANNELS表示在相鄰的通道間求和歸一化。WITHIN_CHANNEL表示在一個通道內(nèi)部特定的區(qū)域內(nèi)進行求和歸一化。與前面的local_size參數(shù)對應(yīng)。

歸一化公式:對于每一個輸入, 去除以

得到歸一化后的輸出

示例:

layers {
  name: "norm1"
  type: LRN
  bottom: "pool1"
  top: "norm1"
  lrn_param {
    local_size: 5
    alpha: 0.0001
    beta: 0.75
  }
}

4、im2col層

如果對matlab比較熟悉的話,就應(yīng)該知道im2col是什么意思。它先將一個大矩陣,重疊地劃分為多個子矩陣,對每個子矩陣序列化成向量,最后得到另外一個矩陣。

看一看圖就知道了:

在caffe中,卷積運算就是先對數(shù)據(jù)進行im2col操作,再進行內(nèi)積運算(inner product)。這樣做,比原始的卷積操作速度更快。

看看兩種卷積操作的異同:

以上就是Caffe卷積神經(jīng)網(wǎng)絡(luò)視覺層Vision Layers及參數(shù)詳解的詳細(xì)內(nèi)容,更多關(guān)于Caffe視覺層Vision Layers的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

延长县| 双峰县| 巴彦县| 云霄县| 阿克苏市| 武清区| 大化| 新宁县| 莱州市| 澳门| 通山县| 德化县| 沽源县| 绥宁县| 刚察县| 锦州市| 宁南县| 依兰县| 漳平市| 资兴市| 永川市| 炉霍县| 楚雄市| 灵台县| 天峻县| 兴海县| 昭通市| 彩票| 行唐县| 邮箱| 仁布县| 东莞市| 龙川县| 张家港市| 永修县| 秦皇岛市| 姜堰市| 健康| 兴安县| 连城县| 清苑县|