我想建立一個CNN來分類狗。事實上,我的數據集由5類狗組成。我有50個狗的圖像分爲40個圖像進行訓練,10個進行測試。 我已經訓練了我的網絡,基於AlexNet預訓練模型超過100,000次和140,000次迭代,但準確度始終在20%到30%之間。 事實上,我已經適應了AlexNet的問題,如下所示:我將上一次完全連接的網絡和num_output的名稱更改爲5.此外,我更改了第一個完全連接的圖層(fc6)的名稱。爲什麼我的基於Alexnet的CNN在分類上失敗了?
那麼爲什麼即使我使用數據增強(裁剪)這個模型失敗了?
我應該在我的網絡頂層使用線性分類,因爲我有一點數據和類似於AlexNet數據集(這裏提到的transfer learning),或者我的數據集與AlexNet和I的原始數據集有很大不同應該在早期的網絡中訓練線性分類器?
這裏是我的求解器:
net: "models/mymodel/train_val.prototxt"
test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 20
max_iter: 200000
momentum: 0.9
weight_decay: 0.0005
snapshot: 1000
snapshot_prefix: "models/mymodel/my_model_alex_net_train"
solver_mode: GPU
你的批量是多少? **求解器**文件的訓練參數是什麼?還有很多其他的考慮,但這是一個好的開始。 – Prune