日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows+caffe下对CIFAR训练

發(fā)布時(shí)間:2024/7/23 windows 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows+caffe下对CIFAR训练 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CIFAR是什么

CIFAR-10和CIFAR-100都是帶標(biāo)簽的大小為8000萬小圖數(shù)據(jù)集的子集。其中CIFAR-10有10類,每類6000個(gè)大小為32x32的圖像。其中訓(xùn)練圖像和測試圖像的比例是5:1,對(duì)每類圖像,隨機(jī)選擇1000個(gè)測試圖像,剩下的就是訓(xùn)練圖像。

注意到10類圖像既有automobile,還有truck。它們是不重疊的。Automobile包含的是轎車,SUV等,truck只包含大卡車,連pickup皮卡也不包括。

Cuda-convnet利用卷積神經(jīng)網(wǎng)絡(luò)在沒有新增訓(xùn)練數(shù)據(jù)下可以達(dá)到18%的錯(cuò)誤率,新增數(shù)據(jù)可以達(dá)到11%的錯(cuò)誤率。Jasper Snoek利用貝葉斯超參數(shù)優(yōu)化在相同網(wǎng)絡(luò)下不借助訓(xùn)練數(shù)據(jù)新增可以達(dá)到15%的錯(cuò)誤率。

下載數(shù)據(jù)集并解壓

從Alex Krizhevsky的網(wǎng)站下載二進(jìn)制格式的CIFAR-10數(shù)據(jù)集。解壓存放在:caffe-master\examples\cifar10\input_folder當(dāng)中(input_folder文件夾需要自己創(chuàng)建)

解壓得到一個(gè)txt格式的標(biāo)簽文件。5個(gè)訓(xùn)練數(shù)據(jù)batch,1個(gè)測試batch。

轉(zhuǎn)換格式 利用convert_cifar_data.exe和bat

將二進(jìn)制文件.bin轉(zhuǎn)為為caffe規(guī)定的格式leveldb。在caffe-master\examples\cifar10 下創(chuàng)建一個(gè)記事本(后綴改為? .bat ),輸入以下code,保存為convert_cifar10.bat (后綴改為? .bat)。


..\..\Build\x64\Release\convert_cifar_data.exe input_folder output_folders leveldbpause

Ps:

1.bat的Usage:Convert_cifar_data input_folderoutput_folder db_type

2.注意不同屬性參數(shù)之間要以空格分開

3.../得到父級(jí)目錄

4.Prototxt中注釋在行首加#

然后雙擊運(yùn)行,可以看到在 caffe-master\examples\cifar10下會(huì)生成一個(gè)文件夾,output_folders。里面有兩個(gè)文件夾,存放的就是轉(zhuǎn)換好的數(shù)據(jù)

計(jì)算均值文件? 利用compute_image_mean.exe和bat

在caffe-master\examples\cifar10下創(chuàng)建一個(gè)記事本(后綴改為? .bat ),輸入以下code

..\..\Build\x64\Release\compute_image_mean.exe -backend=leveldb../../examples\cifar10\output_folders\cifar10_train_leveldb mean.binaryprotoPause

?然后運(yùn)行此文件,在caffe-master\examples\cifar10 下會(huì)出現(xiàn)mean.binaryproto文件

?在prototxt中更改一些參數(shù)

更改caffe-master\examples\cifar10 下的cifar10_quick_solver.prototxt和cifar10_quick_train_test.prototxt

cifar10_quick_solver.prototxt改中了:

net:"../../examples/cifar10/cifar10_quick_train_test.prototxt" snapshot_prefix:"../../examples/cifar10/cifar10_quick"

如果只用CPU計(jì)算網(wǎng)絡(luò),還要改solver_mode:

solver_mode: CPUcifar10_quick_train_test.prototxt中改了:solver_mode: CPU mean_file:"../../examples/cifar10/mean.binaryproto" source:"../../examples/cifar10/output_folders/cifar10_train_leveldb"mean_file:"../../examples/cifar10/mean.binaryproto" source:"../../examples/cifar10/output_folders/cifar10_test_leveldb"backend: LEVELDB

Ps:examples/cifar10/中有幾種不同的訓(xùn)練模式(quick和full等),要一一對(duì)應(yīng)。

開始訓(xùn)練 利用caffe.exe

在caffe-master\examples\cifar10下創(chuàng)建文本文件,更改后綴為.bat,開始運(yùn)行。(注意train之后有空格):

..\..\Build\x64\Release\caffe.exe train --solver=../../examples/cifar10/cifar10_quick_solver.prototxt Pause

bat中只用到了cifar10_quick_solver.prototxt,但在這個(gè)文件里面第一個(gè)參數(shù)就是剛才修改的網(wǎng)絡(luò)配置文件cifar10_quick_train_test.prototxt,這樣才能不斷迭代優(yōu)化求解出參數(shù),得到最終的模型。

還有一種訓(xùn)練方法是在vs中把caffe設(shè)為啟動(dòng)項(xiàng)目,調(diào)試參數(shù)改為train --solver=../../examples/cifar10/cifar10_quick_solver.prototxt。然后ctrl+F5開始調(diào)試。

因?yàn)槭窃诳緾PU訓(xùn)練,半個(gè)多小時(shí)后訓(xùn)練才結(jié)束,optimization done,examples/cifar10下出現(xiàn)如下兩個(gè)文件,說明已經(jīng)訓(xùn)練完成。

在后期應(yīng)用過程中,需要生成caffemodel文件而非caffemodel.h5文件,我們將cifar10_quick_solver.prototxt中的snapshot_format:HDF5注釋掉,重新訓(xùn)練,就可以得到下面的文件

Cifar10_quick_iter_4000.caffemodel是分類器描述文件。Cifar10_quick_iter_4000.solverstate是繼續(xù)學(xué)習(xí)將會(huì)用到的文件。

現(xiàn)在,可以進(jìn)入到實(shí)測了。


分析這個(gè)bat命令,首先使用了編譯生成的exe文件。在網(wǎng)絡(luò)層面,使用了剛訓(xùn)練生成的caffemodel模型和一個(gè)prototxt文件,關(guān)于prototxt文件,參考博客說是訓(xùn)練后新生成的,但是我的文件日期是2016年的,應(yīng)該是版本不同的原因。這個(gè)prototxt文件應(yīng)該就是上一篇博客里面分析的修改train_test.prototxt首尾得到的網(wǎng)絡(luò)配置文件。圖像層面,不僅要指定待分類的圖像,還要有txt文件,存放類別名稱,還要有均值文件,可以提升分類準(zhǔn)確性。

classification.exe examples\cifar10\cifar10_quick.prototxtexamples\cifar10\cifar10_quick_iter_4000.caffemodel examples\cifar10\mean.binaryprotomy.txt 3.jpgpause

注意這個(gè)標(biāo)簽txt文件,寫成一列,不能有額外的空格。否則出現(xiàn)類別個(gè)數(shù)與網(wǎng)絡(luò)最后一層輸出個(gè)數(shù)不符的情況:


結(jié)果1 對(duì)網(wǎng)上下載的柴犬圖像3.jpg的識(shí)別

結(jié)果2? 將下載圖像resize成34x34重新識(shí)別

看到概率大小發(fā)生了變化,但是還是錯(cuò)誤的。

結(jié)果3? 對(duì)網(wǎng)上下載的飛機(jī)圖像的識(shí)別


Reference:

1.??????https://www.cnblogs.com/TensorSense/p/6260287.html

2.????? https://blog.csdn.net/weixinhum/article/details/71304852

總結(jié)

以上是生活随笔為你收集整理的windows+caffe下对CIFAR训练的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。