caffe学習


訓練画像1075枚、テスト画像360
パラメータ設定
net: "./image_train_val.prototxt"
test_iter: 271
test_interval: 100
base_lr: 0.01
display: 20
max_iter: 25000
lr_policy: "step"
gamma: 0.1
momentum: 0.9
weight_decay: 0.0005
power: 0.75
stepsize: 100
snapshot: 5000
snapshot_prefix: "snapshot"
solver_type: SGD
solver_mode: GPU

Net:ネットワークモデル(トレーニングネットワークモデル、テストネットワークモデル)
test_iter:ネットワークのテスト反復回数を表します.ネットワークは、batchSizeのピクチャを1回反復してテストするので、validationセットのすべてのピクチャを1回テストできるようにします.このパラメータにTESTを乗じたbatchSizeはvalidationセットのピクチャの合計数に等しいはずです.すなわちtest_iter*batchSize=テストピクチャの総数.
test_interval:テスト間隔は、ネットワーク反復(トレーニング、train)が何回テストを行うかを示します.1回の反復すなわちbatchSizeのピクチャがネットワークを介して順方向に伝播し,逆方向に伝播する全過程である.例えば、ここでは224が設定されている.すなわち、ネットワークは、反復224回ごとにネットワークの精度を検証する.一般的に、トレーニングセットのすべてのピクチャを1回走って、ネットワークの精度をテストする必要があります.パラメータ全体にネットワークdata層(TRAIN)のbatchSizeパラメータを乗じると、トレーニングセットのピクチャの総数の倍数に等しいはずです.すなわちtest_interval*batchSize=n*train_num(トレーニングピクチャ総数、nは正の整数).
base_lr:ネットワークの基礎学習率を表す.学習率が高すぎるとlossが86.33333続き、lossが収束できないなどの問題を引き起こす可能性があります.学習率が低すぎるとネットワークの収束が遅くなり,勾配損失をもたらす可能性がある.一般的には0.01に設定します.
display:何回ごとに表示されますか.
max_iter:ネットワークの最大反復回数.訓練セットの画像はもちろん1回だけ訓練するのではなく、何度も訓練を繰り返すので、このパラメータは大きくなるはずです.(snapshot.test_iter.test_intervalに関連)
lr_policy:学習率変化法則.
gamma:gammaはlrの減衰係数(学習率変化指数)である.普通は変えない.
momentum:運動量、学習のパラメータ.普通は変えない.
weight_decay:ウェイト減衰、学習のパラメータ.普通は変えない.
stepsize:stepsizeはlrの減衰ステップ(学習率変化周波数)であり、学習率は何回ごとに減少する.ここでは100回反復学習率の減少です. 
snapshot:学習の結果を何回ごとに保存しますか.すなわちcaffemodelです.(snapshot=test_interval*n,snapshot*m=max_iter.m,nはいずれも正の整数)
solver_mode:GPUを使用するかCPUを使用して学習訓練を行うかを設定します.
solver_type:最適化アルゴリズムの選択は、SGD、AdaDelta、AdaGrad、Adam、Nesterov、RMSPropの6つのオプションがあります.デフォルトはSGDです.