SSD訓練自己的數據

一、訓練自己的數據:
    (1)在/data目錄下創建一個自己的文件夾:
        cd /data
        mkdir mydataset
    (2)把/data/VOC0712目錄下的create_list.sh 、create_data.sh、labelmap_voc.prototxt 這三個文件拷貝到/mydataset下:
        cp data/create* ./mydataset
        cp data/label* ./mydataset
    (3)在/data/VOCdevkit目錄下創建mydataset, 並放入自己的數據集:
        cd data/VOCdevkit
        mkdir mydataset
        cd mydataset
        mkdir Annotations
        mkdir ImageSets
        mkdir JPEGImages
        cd ImageSets
        mkdir Layout
        mkdir Main
        mkdir Segmentation

        其中Annotations中存放一些列XML文件,包含object的bbox,name等;
        ImageSets中三個子目錄下均存放train.txt, val.txt, trainval.txt, test.txt這幾個文件,文件內容爲圖片的文件名(不帶後綴);
        JPEGImages存放所有的圖片;
    (4)在/examples下創建mydataset文件夾:
        mkdir mydataset
        文件夾內存放生成的lmdb文件。
    (5)上述文件夾創建好後, 開始生成lmdb文件, 在創建之前需要修改相關路徑:
        ./data/mydataset/create_list.sh
        ./data/mydataset/create_data.sh
        此時,在examples/mydataset/文件夾下可以看到兩個子文件夾, mydataset_trainval_lmdb, mydataset_test_lmdb;裏面均包含data.dmb和lock.dmb;
    (6)修改訓練文件:
        cd /examples/ssd
        vim ssd_pascal.py, 修改如下:
        57行: train_data路徑;
        59行:test_data路徑;
        197-203行:save_dir、snapshot_dir、job_dir、output_result_dir路徑;
        216-220行: name_size_file、label_map_file路徑;
        223行:num_classes 修改爲1 + 類別數
        315行:num_test_image:測試集圖片數目
        另外, 如果你只有一個GPU, 需要修改285行:
        gpus=”0,1,2,3” ===> 改爲”0”
        否則,訓練的時候會出錯。
    (7)運行命令開始訓練:
        python ./examples/ssd/ssd_pascal.py



二、將照片轉化成標準格式的文件:
    運行tools底下的image_annotation.py文件,將root_path改爲照片保存的原始目錄,save_path改爲照片保存的新目錄。


三查看網絡結構:
http://ethereon.github.io/netscope/#/editor
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章