Caffe C slover配置檔案說明

2021-10-04 16:34:35 字數 2408 閱讀 1023

#往往loss function是非凸的,沒有解析解,我們需要通過優化方法來求解。

#caffe提供了六種優化演算法來求解最優函式,在solver配置檔案中,通過設定type型別來選擇

1.stochastic gradient descent

(type:

"sgd"),

2.adadelta

(type:

"adadelta"),

3.adaptive gradient

(type:

"adagrad"),

4.adam

(type:

"adam"),

5.nesterov's accelerated gradient (type:

"nesterov"

)and

6.rmsprop (type:

"rmsprop"

)net:

"examples/mnist/lenet_train_test.prototxt"

test_iter:

100test_interval:

500base_lr:

0.01

momentum:

0.9type:sgd #一般都選用sgd

weight_decay:

0.0005

lr_policy:

"inv"

gamma:

0.0001

power:

0.75

display:

100max_iter:

20000

snapshot:

5000

snapshot_prefix:

"examples/mnist/lenet"

solve_mode:cpu

#引數解析

net:

"examples/mnist/lenet_train_test.prototxt" #網路位置

#也可以分別設定train和test,一般不分別設定

train_net:

"examples/hdf5_classification/logreg_auto_train.prototxt"

test_net:

"examples/hdf5_classification/logreg_auto_test.prototxt"

test_iter:

100 #迭代了多少個樣本呢?batch*test_iter 假設有5000個測試樣本,一次測試想跑遍5000個則需要設定test_iter×batch=

5000

test_interval:

500 #測試間隔。也就是每訓練500次,才進行一次測試。

base_lr:

0.01 #base_lr用於設定基礎學習率

lr_policy:

"inv" #學習率調整的策略,大多是都用這個

lr_policy:

"inv" #學習率調整策略

-fixed: 保持base_lr不變

-step:如果設定為step,則還需要設定乙個stepsize,返回base_lr*gamma ^

(floor

(iter / stepsize)

),其中iter表示當前的迭代次數

-exp:返回base_lr * gamma ^iter,iter為當前迭代次數

-inv:如果設定為inv,還需要設定乙個power,返回base_lr *(1

+gamma * iter)^(

-power)

-multistep:如果設定為multistep,則還需要設定乙個stepvalue.這個引數和step很相似,step是均勻等間隔變化,而multistep則是根據stepvalue值變化

-poly:學習率進行多項式誤差,返回base_lr(1

-iter/max_iter)

^(power)

-sigmoid:學習率進行sigmoid衰減,返回base_lr(1

/(1+

exp(

-gamma*

(iter-stepsize)))

)momentum:

0.9 #動量 ,用於提高優化速度,相當於力的合成,基本永遠都是0.9

display:

100 #每訓練100次,在螢幕上顯示一次,如果設定為0則為不顯示

max_iter:

20000 #最大迭代次數,2w次就停止了,設定的數可以大一點

sanpshot:

5000 #快照 將訓練出來的model和slover狀態進行儲存,snapshot用於設定訓練多少次後進行儲存

solver_mode:cpu #設定執行模式 預設為gpu,沒有gpu則需要設定為cpu

spring boot mybatis配置檔案開發

之前寫了乙個註解版開發的,現在在乙個配置檔案開發。我直接把 貼下面 根據id查詢單個資訊 public orders getorders integer id 新增單個資訊 mybatis config.xml的配置 insert into orders user id,number,oreatet...

OpenSUSE desktop桌面配置檔案編寫

這裡似乎更多的是因為需要非自由軟體而寫的,當然更多的是寫給像我這樣的不是很桌面的桌面黨。不過,還有一部分原因是opensuse的機制所導致的,bash容易被sudo弄暈,導致無法在x上執行。先附一張截圖吧。firefox的示例 desktop entry name firefox comment w...

python logging模組配置日誌檔案

通過logging.config模組配置日誌 logger.conf loggers 設定日誌記錄器 根目錄,簡單例項量種型別的日誌 keys root,example handlers 設定日誌處理器 控制台處理,檔案處理 keys consolehandler,filehandler forma...