基於我目前的理解對caffe處理自己的資料的過程進行總結,後續有理解發生變化的地方再進行更改。
1. 假設我現在有一堆標註好的影象資料,拿出來一部分做訓練集,一部分做測試集。當然這些資料不能直接輸入caffe中,需要轉換成caffe需要的資料格式
2. 轉換成caffe需要的資料格式後,分別計算訓練集和測試集的均值檔案
3. 假設網路結構已經定義好,則直接更改裡面的訓練集和測試集的資料**即可。若沒有定義好的網路結構,需要自己定義,一般需要乙個*solver.prototxt檔案和乙個*train_test.prototxt檔案
4. 然後對訓練集進行訓練,訓練時的.bat檔案一般如下形式:
build\x64\debug\caffe.exe train –solver=//*solver.prototx
pause
訓練完成後會生成 .caffemodel 檔案和 .solverstate 檔案
5. 利用測試集對訓練好的模型進行測試,測試時的.bat檔案一般如下形式:
build\x64\debug\caffe.exe test –model==examples/mnist/lenet_train_test.prototxt –weights= examples/mnist/lenet_iter_1000.caffemodel
pause
6. 對模型訓練好並且測試完後,就要拿來這個模型用啦。用它對未知分類的影象資料進行分類,分類時.bat檔案一般如下形式:
build\x64\debug\classification.exe
examples/mnist/lenet.prototxt
examples/mnist/ lenet_iter_1000.caffemodel
mean.binaryproto
examples/mnist/label.txt
examples/mnist/test1.bmp
對TCP IP的淺顯理解
前段時間做了乙個開發,涉及到網路程式設計,開發過程比較順利,但任務完成後始終覺得有一些疑惑。主要是因為對網路協議不太熟悉,對一些概念也沒弄清楚。後來 我花了一些時間去了解這些網路協議,現在對tcp ip網路協議有了初步的認識,在這裡總結出來,可以梳理一下我對網路協議的理解,加深印象.話說兩台電腦要通...
對指標變數的淺顯理解
轉換 變數名其實是乙個符號位址,而變數的記憶體位址就是變數的實體地址 也叫指標 程式編輯完後,通過編譯器,將符號位址 變數名 轉化為變數的實體地址,才能實現對變數 記憶體裡 的資料進行操作。二 指標變數 p 作用 是用來存放普通變數位址 實體地址 的變數。換句話說,指標變數裡面的值就是位址。p 這是...
對後端開發的淺顯理解
一直以來在學各種流行框架,比如spring全家桶啊,shiro啊,activiti,還有和各種中介軟體的整合 只管著學就完事兒了,但越學越迷茫,是時候做個階段性的總結了 後端開發在我的理解,是書寫跑在伺服器端的程式,保證伺服器能經受得起大量使用者的訪問,其本質就是對資料庫的crud,以下用mysql...