1. 程式人生 > >Caffe上用SSD訓練和測試自己的資料

Caffe上用SSD訓練和測試自己的資料

學習caffe第一天,用SSD上上手。

   我的根目錄$caffe_root為/home/gpu/ljy/caffe

   一、執行SSD示例程式碼

   1.到https://github.com/weiliu89/caffe.git下載caffe-ssd程式碼,是一個caffe資料夾

   2.參考已經配好的caffe目錄下的makefile.config修改¥caffe_root下的makefile.config.

   3.在$caffe_root下開啟命令列終端,輸入以下命令

make -j8
make py
make test -j8
make runtest -j8
編譯完成
4.下載VGG_ILSVRC_16_layers_fc_reduced.caffemodel預訓練模型,放到$caffe_root/models/VGG下。(
沒有VGG資料夾就建一個)
下載資料集VOCtest_06_Nov-2007.tar等三個壓縮包放在$caffe_root/data下,並解壓。
5.修改
./data/VOC0712/create_list.sh裡面的路徑為自己的路徑,修改./data/VOC0712/create_data.sh,本文如下圖所示:(VOC0712資料夾可能沒有,那就從網上下一個)

      

 6.命令列切換到$caffe_root並執行上面兩個指令碼,直接命令列輸入就是執行
7.訓練,命令列輸入下面:
python examples/ssd/ssd_pascal.py
或者下載訓練好的模型
8.測試
A.python examples/ssd/score_ssd_pascal.py

這個要先改裡面的gpu個數,輸出是分數
B.python examples/ssd/plot_detections.py
輸出是是視訊的標註...
C. ./.build_release/examples/ssd/ssd_detect.bin models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel /home/gpu/ljy/caffe/data/ljy_test/TestData/pictures.txt
這是單張圖片的測試,C++版本的,其中ctrl+h可以檢視隱藏資料夾,最後那個pictures.txt是待測試資料夾的路徑列表,如下圖:

   

      

     測試結果如下:(暫時還不知道輸出的都是什麼東西,可能是類別、置信度和位置吧)

     

    D 單張圖片測試,python版本

    點開ssd_detect.ipynb,複製並儲存為ssd_detect.py,然後修改裡面的路徑(包括$caffe_root和測試圖片的路徑),並在最後加上plt.show()

    然後命令列執行該程式碼即可

   二、訓練並測試自己的資料

    1.生成訓練和測試資料

     我們自己的資料基本是jpeg或者其他圖片格式的,而caffe輸入的一般是LMDB的資料,所以我們要進行轉換。我們轉換的方法是

     A.將影象用工具進行標註(工具這裡先不介紹),得到txt標註檔案

     B.將txt檔案和圖片轉換成VOC格式(用指令碼)

     C.將VOC格式轉換為LMDB格式,利用SSD示例程式碼提供的轉換指令碼。

 (1) 在 $caffe_root/data/VOCdevkit目錄下建立ljy_test目錄,該目錄中存放自己轉換完成的VOC資料集;
(2) $CAFFE_ROOT/examples目錄下建立ljy_test目錄;
(3) $CAFFE_ROOT/data目錄下建立ljy_test目錄,同時將data/VOC0712下的create_list.sh,create_data.sh,labelmap_voc.prototxt
這三個檔案copy到ljy_test目錄下,分別重新命名為create_list_ljy_test.sh,create_data_ljy_test.sh, labelmap_ljy_test.prototxt
(4) 對上面新生成的兩個create檔案進行修改,主要修改是將VOC0712相關的資訊替換成ljy_test
修改後的兩個檔案分別如下:


然後修改
labelmap_indoor.prototxt,將該檔案中的類別修改成和自己的資料集相匹配,注意需要保留一個label 0 , background類別

      完成上面步驟的修改後,可以開始LMDB資料資料的製作,在$CAFFE_ROOT目錄下分別執行:

  ./data/ljy_test/create_list_indoor.sh

  ./data/ljy_test/create_data_indoor.sh

  命令執行完畢後,可以在$CAFFE_ROOT/examples/ljy_test目錄下檢視轉換完成的LMDB資料資料。

   2.訓練

  A.將預訓練好的模型放在$CAFFE_ROOT/models/VGGNet下(我們這裡在執行SSD示例程式碼的4已經放過了,可以省略)

 B.將$caffe_root/examples/ssd/ssd_pascal.py拷貝到自己的資料夾$caffe_root/examples/ljy_test/下,並重命名為ssd_pascal_ljy.py

 C.修改ssd_pascal_ljy.py為自己的各個路徑,其中要在$caffe_root/models/VGGNet/下建立ljy_test資料夾,修改如下:

 

  

  

  

  D.執行訓練程式碼。在$caffe_root下開啟命令列,並輸入

python examples/ljy_test/ssd_pascal_ljy.py
等待訓練就可以了...
有可能遇到loss=nan的情況,這個待議,正常情況下是下面醬紫的:

  3.測試

  A.c++版本的測試

 跟上面ssd示例測試的差不多,改一下路徑即可

  B.python版本的測試

  同最上面

  4.參考:http://blog.csdn.net/u014696921/article/details/53353896,https://github.com/weiliu89/caffe.git

相關推薦

CaffeSSD訓練測試自己的數據

輸出 makefile b數 text play cal 上下 lba san 學習caffe第一天,用SSD上上手。 我的根目錄$caffe_root為/home/gpu/ljy/caffe 一、運行SSD示例代碼 1.到https://github.com

CaffeSSD訓練測試自己資料

學習caffe第一天,用SSD上上手。    我的根目錄$caffe_root為/home/gpu/ljy/caffe    一、執行SSD示例程式碼    1.到https://github.com/weiliu89/caffe.git下載caffe-ssd程式碼,是一個caffe資料夾    2.參考已經

【12】Caffe學習系列:訓練測試自己的圖片

一、準備資料 有條件的同學,可以去imagenet的官網http://www.image-net.org/download-images,下載imagenet圖片來訓練。驗證碼始終出不來需要翻牆(是google網站的驗證碼)。但是我沒有下載,原因是資料太大了。。。 我去網上找了一些其它的圖片

YOLOv3+Faster R-CNN+SSD訓練測試自己資料

首先製作自己的資料集—VOC2007資料集製作,接下來就可以開始搞事情了.... 一:YOLOv3相關 二:Faster R-CNN相關 Python原始碼:點選開啟連結 三:SSD相關

Windows Caffe 學習筆記(三)在Caffe訓練測試自己資料

本文是學習Caffe官方文件"ImageNet Tutorial"時做的,同樣由於是Windows版本的原因,很多shell指令碼不能直接使用,走了不少彎路,但是收穫也不少。比如:如何讓shell指令

caffe隨記(七)---訓練測試自己的圖片

前面也介紹了tools工具,今天來試著自己跑一下影象分類的例項 1、下載資料 我沒有用imagenet的資料,因為太大了不想下,而且反正也只是當作例程跑一下而已,所以我用的是另一位博主分享的網盤上的資料,共有500張圖片,分為大巴車、恐龍、大象、鮮花和馬五個類,每個類1

Caffe中檔案引數設定(九-1):訓練測試自己的圖片-linux版本

在深度學習的實際應用中,我們經常用到的原始資料是圖片檔案,如jpg,jpeg,png,tif等格式的,而且有可能圖片的大小還不一致。而在caffe中經常使用的資料型別是lmdb或leveldb,因此就產生了這樣的一個問題:如何從原始圖片檔案轉換成caffe中能夠執行的db(l

Caffe傻瓜系列(9):訓練測試自己的圖片

在深度學習的實際應用中,我們經常用到的原始資料是圖片檔案,如jpg,jpeg,png,tif等格式的,而且有可能圖片的大小還不一致。而在caffe中經常使用的資料型別是lmdb或leveldb,因此就產生了這樣的一個問題:如何從原始圖片檔案轉換成caffe中能夠執行的db(leveldb/lmdb)檔

pytorch: 準備、訓練測試自己的圖片資料

大部分的pytorch入門教程,都是使用torchvision裡面的資料進行訓練和測試。如果我們是自己的圖片資料,又該怎麼做呢? 一、我的資料 我在學習的時候,使用的是fashion-mnist。這個資料比較小,我的電腦沒有GPU,還能吃得消。關於fashion-mnist資料,可以百度,也可以 點此 瞭解

Caffe9:訓練測試自己的圖片

在深度學習的實際應用中,我們經常用到的原始資料是圖片檔案,如jpg,jpeg,png,tif等格式的,而且有可能圖片的大小還不一致。而在caffe中經常使用的資料型別是lmdb或leveldb,因此就產生了這樣的一個問題:如何從原始圖片檔案轉換成caffe中能夠執行的db(leveldb/lmdb)檔

faster-rcnn訓練測試自己資料(VGG/ResNet)以及遇到的問題

http://www.cnblogs.com/caffeaoto/p/6536482.html主要參照這個教程改的需要準備的檔案:Annotation檔案,圖片,用來訓練的圖片名稱list.txt訓練:需要改的檔案:lib/datasets/下的pascal_voc.py,f

【心得】深度學習入門——訓練測試自己資料

經過幾天的努力,成功訓練自己的資料集,並進行了單張圖片的測試。 訓練過程中val準確率約為0.91。看起來效果還比較理想,是否已經過擬合還沒有進行確定。 在訓練過程中,最討厭的就是處理檔案路徑和檔案存放位置。 一、ImageNet分類部分: caffe模型下有一個ex

[caffe學習筆記]自己資料進行訓練測試

我今天嘗試製作一個自己的訓練資料集,參考薛開宇的學習方式,模仿搭建自己的資料庫。  1.因為我的電腦裡有整個ImageNet_ILSVRC2012的資料集,所以從訓練集ILSVRC2012_img_train中隨便選了兩種:bird和fowl2.生成標籤檔案列表,即生成 t

Caffe學習筆記1:linux下建立自己的資料庫訓練測試caffe中已有網路

本文是基於薛開宇 《學習筆記3:基於自己的資料訓練和測試“caffeNet”》基礎上,從頭到尾把實驗跑了一遍~對該文中不清楚的地方做了更正和說明。 主要工作如下: 1、下載圖片建立資料庫 2、將圖片轉化為256*256的lmdb格式 3、計算影象均值 4、定義網路修改部分引

自己資料訓練測試“caffenet”

本次實驗本來參考examples/imagenet下的readme.txt進行,但因為資料集過於龐大,所以模擬學習,參考薛開宇的學習方式,模仿搭建自己的資料庫。 首先在caffe/data下新建資料夾myself,然後在網上下載貓、鳥、狗的訓練圖片各50張,測

(薛開宇學習筆記(三))自己資料訓練測試“CaffeNet”

1.資料準備 原文是用ImageNet1000類的資料庫,本文是自己模仿一個小的資料庫進行下去的,在caffe下新建一個myself資料夾,並在網上下載了訓練貓的圖片60張,測試貓10張,訓練狗的圖片60張,測試狗10張,如圖: 為了方便,對下載的圖片名進行修改,修改

FCN製作自己資料集、訓練測試 caffe

花了兩三週的時間,在導師的催促下,把FCN的全部流程走了一遍,期間走了很多彎路,現在記錄一下。系統環境:ubuntu 16.04LTS 一、資料集的製作 注:我的資料集是仿照VOC資料集進行製作的 1.resize 資料集 我的GPU視訊記憶體4G,跑過大的圖片帶不動,需要resize圖片大小,放幾

caffe安裝,編譯(包括CUDAcuDNN的安裝),並訓練測試自己資料caffe使用教程)

caffe是一個非常清晰且高效的深度學習框架,目前有著不少的使用者,也漸漸的形成了自己的社群,社群上可以討論相關的問題。 我從開始看深度學習的相關內容到能夠用caffe訓練測試自己的資料,看了不少網站,教程和部落格,也走了不少彎路,在此把整個流程梳理和總結一遍,以期望可以可

ssd物體檢測模型訓練測試總結

http max cti https 都得 硬件 obj git detection 參考網址:github:https://github.com/naisy/realtime_object_detection2018.10.16ssd物體檢測總結:切記粗略地看一遍備註就開

FCN製作自己資料集並訓練測試

前言 這篇部落格記錄的是如何製作自己的資料集,並使用FCN模型訓練資料,前提要搭建caffe框架,可以參考這篇部落格,我製作的資料集是仿照voc2012資料集來在做的 製作影象標籤 這一部分是最難的部分,在製作標籤之前要搞清楚你的影象共分為幾類 調整影象尺寸