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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows环境下使用 Caffe在ImageNet上训练网络

發布時間:2024/4/13 windows 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows环境下使用 Caffe在ImageNet上训练网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在配置好Windows版的Caffe之后,可以使用Windows Caffe訓練ImageNet網絡,主要有4個步驟:

(1)準備圖片數據庫

(2)將圖片數據轉換為Caffe可以使用的LMDB或者LevelDB類型

(3)取數據庫均值

(4)開始用Caffe訓練網絡

1 準備圖片數據庫

可以從網上找到ImageNet的數據,選擇幾個圖片類別下載下來。我是從ilsvrc2012的數據中找了幾個類別。我找到的數據庫是這樣的:


上面每個文件中都是如下的一堆圖片:


任意選擇幾個類別作為訓練數據。我選了如下的三類。每個類別中有1300張圖片,在每個類別中抽取100張圖片作為驗證集,余下的1200張作為訓練集。將訓練集和驗證集存儲在相應的路徑下。



運行如下兩個matlab腳本(腳本來自“http://blog.csdn.net/u013657981/article/details/49497753”),可以生成制作數據庫所需要的train.txt和val.txt。

clear all clc foodDir='F:\caffe-windows\data\ilsvrc12\train'; numClasses=3 classes=dir(foodDir) classes = classes([classes.isdir]) ; classes = {classes(3:numClasses+2).name} imageName={}; fp = fopen('train.txt','a'); for ci = 1:length(classes)ims = dir(fullfile(foodDir, classes{ci}, '*.JPEG')) for ii=1:length(ims)fprintf(fp,classes{ci});fprintf(fp,'/');fprintf(fp,ims(ii).name);fprintf(fp,' ');fprintf(fp,'%d',ci);fprintf(fp,'\r\n');end end fclose(fp);


clear all clc foodDir='F:\caffe-windows\data\ilsvrc12\val'; numClasses=3 classes=dir(foodDir) classes = classes([classes.isdir]) ; classes = {classes(3:numClasses+2).name} imageName={}; fp = fopen('val.txt','a'); for ci = 1:length(classes)ims = dir(fullfile(foodDir, classes{ci}, '*.JPEG')) for ii=1:length(ims)fprintf(fp,classes{ci});fprintf(fp,'/');fprintf(fp,ims(ii).name);fprintf(fp,' ');fprintf(fp,'%d',ci);fprintf(fp,'\r\n');end end fclose(fp);

然后把生成的train.txt和val.txt拷貝到合適的路徑下以備使用(我是把它們拷貝到了F:\caffe-windows\data\ilsvrc12 路徑下)。兩個文件內容如下所示。




2 生成數據庫

數據庫可以選擇LMDB或者LevelDB兩種類型。

使用如下批處理命令,可以實現訓練集的轉化,生成LMDB數據庫。

F:\caffe-windows\Build\x64\Release\convert_imageset.exe --resize_height=256 --resize_width=256 --shuffle --backend="lmdb" F:\caffe-windows\data\ilsvrc12\train\ F:\caffe-windows\data\ilsvrc12\train.txt F:\caffe-windows\examples\imagenet\ilsvrc12_train_lmdb Pause

在使用如下命令,可以實現驗證集的數據庫轉化。

F:\caffe-windows\Build\x64\Release\convert_imageset.exe --resize_height=256 --resize_width=256 --shuffle --backend="lmdb" F:\caffe-windows\data\ilsvrc12\val\ F:\caffe-windows\data\ilsvrc12\val.txt F:\caffe-windows\examples\imagenet\ilsvrc12_val_lmdb Pause


3 數據庫均值

F:\caffe-windows\Build\x64\Release\compute_image_mean.exe --backend="lmdb" F:\caffe-windows\examples\imagenet\ilsvrc12_train_lmdb F:\caffe-windows\examples\imagenet\train_mean.binaryproto Pause


4 訓練網絡

我們采用的是caffe自帶的一些網絡,一些參數如下,有些我們可以根據自己的需要修改。比如,我將最大迭代次數改為了30000?!?span style="font-size:14px;">train_val.prototxt”文件位于F:\caffe-windows\models\bvlc_alexnet 路徑中我的caffe的根目錄是F:\caffe-windows)。


在同一個目錄下還有文件“solver.prototxt”。網絡結構參數中,要把數據庫文件和均值文件路徑寫對。用了相對路徑的地方,默認是從caffe的根目錄執行。



由于上面文件中有的參數使用了相對路徑,所以我們需要打開Windows命令行窗口,cd到caffe的根目錄,執行以下命令:

F:\caffe-windows\Build\x64\Release\caffe.exe train --solver=F:\caffe-windows\models\bvlc_alexnet\solver.prototxt pause

或者把它寫到一個批處理文件中,在caffe根目錄下執行該文件。運行中截圖如下:


運行完成后截圖如下。在使用了GPU的前提下,我的電腦總共花了2個半小時來完成這個任務。




轉載于:https://www.cnblogs.com/yanhuiqingkong/p/7770057.html

總結

以上是生活随笔為你收集整理的Windows环境下使用 Caffe在ImageNet上训练网络的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。