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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

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

windows

【caffe-Windows】cifar实例编译之model的生成

發(fā)布時(shí)間:2023/12/13 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【caffe-Windows】cifar实例编译之model的生成 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考:<span style="font-family: Arial, Helvetica, sans-serif;">http://blog.csdn.net/chengzhongxuyou/article/details/50715455</span>

準(zhǔn)備工作

按照之前的教程,成功生成過(guò)caffe,并且編譯整個(gè)caffe.sln項(xiàng)目工程,在\caffe-master\Build\x64\Debug生成了一堆exe文件,后面會(huì)使用到除了caffe.exe的另外一個(gè)exe

【PS】很多VS安裝過(guò)程中出現(xiàn)問(wèn)題的,比如XX加載失敗,XX未找到等,請(qǐng)自行尋找問(wèn)題,很可能是原來(lái)的VS沒(méi)卸載干凈,或者VS版本缺少一些文件等導(dǎo)致。正常情況下,第一次編譯只有l(wèi)ibcaffe.lib顯示失敗,不會(huì)出現(xiàn)其它error

第一步

下載cifar的數(shù)據(jù)集

官網(wǎng)地址:http://www.cs.toronto.edu/~kriz/cifar.html

我的百度云地址:二進(jìn)制數(shù)據(jù)文件鏈接:http://pan.baidu.com/s/1hrRApwC 密碼:1dxy

.mat格式連接:鏈接:http://pan.baidu.com/s/1hr6B7Xa密碼:f343

多一句嘴,這個(gè)數(shù)據(jù)集是彩色圖片,也即具有RGB三通道,數(shù)據(jù)存儲(chǔ)方式是一行為一張圖片,包含3*32*32=3072個(gè)像素屬性,具體多少?gòu)垐D片,有興趣的可以去官網(wǎng)看看,或者看看數(shù)據(jù)集的存儲(chǔ)格式:樣本數(shù)(圖片數(shù))*3072

與訓(xùn)練model無(wú)關(guān)】下面代碼是用matlab寫(xiě)的,用于顯示其中一個(gè)樣本,當(dāng)然你可以用reshape函數(shù),前面我介紹過(guò)這個(gè)函數(shù)

image=zeros(32,32,3); count=0; for i=1:3for j=1:32for k=1:32count=count+1;image(j,k,i)=data(1000,count);endend end imshow(uint8(image))

第二步

下載完畢以后,解壓得到數(shù)據(jù),請(qǐng)核對(duì)是否與下圖一樣


按照下列路徑,在自己的caffe目錄下建立input_folder文件夾,并拷貝相應(yīng)數(shù)據(jù)集


第三步

在input_folder的上一級(jí)目錄,也就是Debug目錄建立一個(gè)bat文件(名稱(chēng)隨意,我用的是convert.bat),用于轉(zhuǎn)換數(shù)據(jù)集格式,內(nèi)容如下

convert_cifar_data.exe input_folder output_folders leveldb pause【PS】此處的exe就是在編譯caffe.sln時(shí)候生成的,如果沒(méi)有,請(qǐng)?jiān)赩S中修改生成模式為DEBUG,而非release



【PS】caffe-windows是caffe官方提供的caffe,與caffe-master差不多,我這里為了從頭演示,沒(méi)有在master里面操作,無(wú)視之即可

運(yùn)行此bat文件,會(huì)生成一個(gè)文件夾output_folders,里面有兩個(gè)文件夾,請(qǐng)核對(duì)路徑以及文件數(shù)目





第四步

計(jì)算均值,新建另一個(gè)bat文件(本文采用mean.bat),如下圖所示,請(qǐng)核對(duì)路徑

compute_image_mean.exe output_folders/cifar10_train_leveldb mean.binaryprotopause

雙擊此bat文件,不出意外會(huì)出現(xiàn)下面問(wèn)題:

解決方法有兩種

第一種:打開(kāi)caffe.sln,修改compute_image_mean.cpp


重新生成一下,得到新的計(jì)算均值的exe文件【電腦編譯中。。。等待ing。。。。】

第二種:感謝評(píng)論區(qū)?Liz_Huang的提示,直接在bat后面添加--backend=leveldb,同時(shí)也可以換成--backend=lmdb

編譯完畢,重新運(yùn)行bat文件,仔細(xì)檢查debug文件夾,會(huì)發(fā)現(xiàn)有一個(gè)文件名為:mean.binaryproto

第五步

將debug文件夾下的mean.binaryproto以及output_folders下的兩個(gè)文件夾拷貝到caffe-windows\examples\cifar10

在caffe-windows也就是caffe-master(根據(jù)版本自行決定)文件夾下新建一個(gè)bat文件,用于訓(xùn)練模型,本文使用train.bat

.\Build\x64\Debug\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt pause在運(yùn)行之前需要修改幾個(gè)文件,此處截圖超過(guò)2M了,傳不上來(lái),讀者自己核對(duì)路徑以及CPU訓(xùn)練設(shè)置

cifar10_quick_solver.prototxt文件:

# reduce the learning rate after 8 epochs (4000 iters) by a factor of 10# The train/test net protocol buffer definition net: "examples/cifar10/cifar10_quick_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of MNIST, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. test_iter: 100 # Carry out testing every 500 training iterations. test_interval: 500 # The base learning rate, momentum and the weight decay of the network. base_lr: 0.001 momentum: 0.9 weight_decay: 0.004 # The learning rate policy lr_policy: "fixed" # Display every 100 iterations display: 100 # The maximum number of iterations max_iter: 4000 # snapshot intermediate results snapshot: 4000 snapshot_format: HDF5 snapshot_prefix: "examples/cifar10/cifar10_quick" # solver mode: CPU or GPU solver_mode: CPU ——————————————————————————————————————————————————————————————————————————

cifar10_quick_train_test.prototxt文件【只貼前面一部分】,需要修改的就是數(shù)據(jù)格式為leveldb,以及相關(guān)路徑,自行核對(duì)

name: "CIFAR10_quick" layer {name: "cifar"type: "Data"top: "data"top: "label"include {phase: TRAIN}transform_param {mean_file: "examples/cifar10/mean.binaryproto"}data_param {source: "examples/cifar10/cifar10_train_leveldb"batch_size: 100backend: LEVELDB} } layer {name: "cifar"type: "Data"top: "data"top: "label"include {phase: TEST}transform_param {mean_file: "examples/cifar10/mean.binaryproto"}data_param {source: "examples/cifar10/cifar10_test_leveldb"batch_size: 100backend: LEVELDB} }一定要核對(duì)正確,我好像在設(shè)置添加路徑的時(shí)候多了一個(gè)空格,結(jié)果出現(xiàn)了下面問(wèn)題


【PS】一定要細(xì)心

最后,運(yùn)行train.bat時(shí)候出現(xiàn)如下界面,說(shuō)明正在訓(xùn)練


是不是感覺(jué)和網(wǎng)上看到的不一樣呢?網(wǎng)上都是各種iteration 和loss顯示在命令窗口,但是這里出現(xiàn)了prefetch batch等。原因在于我們用的是debug模式下生成的caffe在訓(xùn)練,如果想看到如下情形的結(jié)果,請(qǐng)將caffe.sln使用release模式生成(用VS2013打卡caffe.sln以后,上方中間部分的dubug改為release,然后右鍵工程,重新生成)


第六步

訓(xùn)練完成,會(huì)得到如下文件


下面是我訓(xùn)練好的cifar10的model,讀者可下載,可自行訓(xùn)練

cifar10_quick_iter_4000.caffemodel.h5的鏈接:http://pan.baidu.com/s/1o8xSqr4 密碼:ftc5

cifar10_quick_iter_4000.solverstate.h5的鏈接:鏈接:http://pan.baidu.com/s/1eRGPlNs 密碼:589n

第七步

附帶說(shuō)一下caffe train 的finetuning。我們?cè)诰幾g成功caffe以后顯示的dos窗口顯示的有一行是:

commands: train train or finetune a model只要是用caffe train -solver=xxxxxxx,那就是從頭開(kāi)始訓(xùn)練

凡是遇到caffe train -solver=xxxx ?-weights=xxxxxx.caffemodel(.h5),那就是用已有模型參數(shù)(權(quán)重偏置)去初始化網(wǎng)絡(luò),稱(chēng)為finetune




總結(jié)

以上是生活随笔為你收集整理的【caffe-Windows】cifar实例编译之model的生成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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