日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

solver.prototxt参数说明(三)

發布時間:2024/9/21 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solver.prototxt参数说明(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.mamicode.com/info-detail-1368127.html


solver.prototxt

net: "models/bvlc_alexnet/train_val.prototxt" test_iter: 1000 # test_interval: 1000 # base_lr: 0.01 # 開始的學習率 lr_policy: "step" # 學習率的drop是以gamma在每一次迭代中 gamma: 0.1 stepsize: 100000 # 每stepsize的迭代降低學習率:乘以gamma display: 20 # 沒display次打印顯示loss max_iter: 450000 # train 最大迭代max_iter momentum: 0.9 # weight_decay: 0.0005 # snapshot: 10000 # 沒迭代snapshot次,保存一次快照 snapshot_prefix: "models/bvlc_reference_caffenet/caffenet_train" solver_mode: GPU # 使用的模式是GPU
  • test_iter?
    在測試的時候,需要迭代的次數,即test_iter* batchsize(測試集的)=測試集的大小,測試集的 batchsize可以在prototx文件里設置。

  • test_interval?
    訓練的時候,每迭代test_interval次就進行一次測試。

  • momentum?
    靈感來自于牛頓第一定律,基本思路是為尋優加入了“慣性”的影響,這樣一來,當誤差曲面中存在平坦區的時候,SGD可以更快的速度學習。?

train_val.prototxt

layer { # 數據層name: "data"type: "Data"top: "data"top: "label"include {phase: TRAIN # 表明這是在訓練階段才包括進去}transform_param { # 對數據進行預處理mirror: true # 是否做鏡像crop_size: 227# 減去均值文件mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"}data_param { # 設定數據的來源source: "examples/imagenet/ilsvrc12_train_lmdb"batch_size: 256backend: LMDB} } layer {name: "data"type: "Data"top: "data"top: "label"include {phase: TEST # 測試階段}transform_param {mirror: false # 是否做鏡像crop_size: 227# 減去均值文件mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"}data_param {source: "examples/imagenet/ilsvrc12_val_lmdb"batch_size: 50backend: LMDB} }
  • lr_mult?
    學習率,但是最終的學習率需要乘以 solver.prototxt 配置文件中的 base_lr .

    如果有兩個 lr_mult, 則第一個表示 weight 的學習率,第二個表示 bias 的學習率?
    一般 bias 的學習率是 weight 學習率的2倍’

  • decay_mult?
    權值衰減,為了避免模型的over-fitting,需要對cost function加入規范項。?

  • num_output?
    卷積核(filter)的個數

  • kernel_size?
    卷積核的大小。

    如果卷積核的長和寬不等,需要用 kernel_h 和 kernel_w 分別設定

  • stride?
    卷積核的步長,默認為1。也可以用stride_h和stride_w來設置。

  • pad?
    擴充邊緣,默認為0,不擴充。

    擴充的時候是左右、上下對稱的,比如卷積核的大小為5*5,那么pad設置為2,則四個邊緣都擴充2個像素,即寬度和高度都擴充了4個像素,這樣卷積運算之后的特征圖就不會變小。?
    也可以通過pad_h和pad_w來分別設定。

  • weight_filler?
    權值初始化。 默認為“constant”,值全為0.?
    很多時候我們用”xavier”算法來進行初始化,也可以設置為”gaussian”

weight_filler {type: "gaussian"std: 0.01 }
  • bias_filler

偏置項的初始化。一般設置為”constant”, 值全為0。

bias_filler {type: "constant"value: 0 }
  • bias_term

    是否開啟偏置項,默認為true, 開啟

  • group?
    分組,默認為1組。如果大于1,我們限制卷積的連接操作在一個子集內。?
    卷積分組可以減少網絡的參數,至于是否還有其他的作用就不清楚了。

    每個input是需要和每一個kernel都進行連接的,但是由于分組的原因其只是與部分的kernel進行連接的?
    如: 我們根據圖像的通道來分組,那么第i個輸出分組只能與第i個輸入分組進行連接。

  • pool?
    池化方法,默認為MAX。目前可用的方法有 MAX, AVE, 或?STOCHASTIC

  • dropout_ratio?
    丟棄數據的概率

總結

以上是生活随笔為你收集整理的solver.prototxt参数说明(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。