Caffe訓練AlexNet網絡模型——問題三


caffe 進行自己的imageNet訓練分類:loss一直是87.3365,accuracy一直是0

解決方法: http://blog.csdn.net/jkfdqjjy/article/details/52268565?locationNum=14

知道了原因,解決時就能對症下葯。總體上看,softmax輸入的feature由兩部分計算得到:一部分是輸入數據,另部分是各層權重參數。

1、觀察數據中是否有異常樣本或異常label導致數據讀取異常
2、調小初始化權重,以便使softmax輸入的feature盡可能變小
3、降低學習率,這樣就能減小權重參數的波動范圍,從而減小權重變大的可能性。這條也是網上出現較多的方法。
4、如果有BN(batch normalization)層,finetune時最好不要凍結BN的參數,否則數據分布不一致時很容易使輸出值變的很大。
 
具體做法可參照以下三點:

http://blog.csdn.net/hyqsong/article/details/51933255


1.標簽的問題:
圖像分類的標簽label一定要從0開始,針對N分類問題,標簽需設置為0,1,2,3,4,...,N-1。

2.分類層的num_output和標簽的值域不符合:

由於Alexnet網絡是進行1000類的分類任務,而我需要進行五分類,所以就要把train_val.prototxt文件里的最后一層的全連接層‘fc8’的InnerProduct的分類層數num_output: 1000,改為5,這個設成自己label的類別總數就可以。

3.可能是學習率太高 
另外如果是最初的迭代的loss很小,然后突然變成87.3365?如果是這樣,可以嘗試一下調低學習率,我開始學習率是0.1,后來調成了0.001,反正就是調小,可以多試幾次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM