1. 程式人生 > >Mxnet(3)-SSD訓練自己的資料

Mxnet(3)-SSD訓練自己的資料

整個ssd的安裝和訓練可以按照官方的例子。

需要注意的是需要編譯ssd相關的程式碼,可以通過兩種方式進行:

  1. 直接把ssd目錄下的operator中的檔案複製到src/operator,然後再編譯
  2. 設定config.mk,把EXTRA_OPERATORS改成EXTRA_OPERATORS = example/ssd/operator,然後再進行編譯。

接著便是執行demo,看能否正確執行,執行前需要下載相關的model和dataset。並且放在正確的位置。

下面是製作自己的資料集進行訓練:

  • 資料集製作
  • 修改訓練相關檔案
  • 訓練和測試

    1.資料集的製作可以參考這篇文章。結束之後可以把資料替換掉VOC2007裡面的相應資料。
    2.修改訓練相關的檔案,需要修改的引數無非是資料的類別數量和標籤名。

  • dataset/pascal_voc.py(在最新版本0.12.1,classes 修改在資料夾dataset/name)
  • demo.py(模型訓練結束後用到)

    這裡寫圖片描述

這裡寫圖片描述

3.訓練和測試

# cd /path/to/mxnet/example/ssd
python train.py
#python train.py --year 2007 

測試

# play with examples:
python demo.py --epoch 0 --images ./data/demo/yourImageName.jpg --thresh 0.5

可能會遇到的問題:

AttributeError: 'module'
object has no attribute 'MultiBoxPrior' #20 #是否編譯好ssd,路徑是否配置正確

執行demo.py出現以下錯誤

/ndarray.cc:231: Check failed: from.shape() == to->shape() operands shape mismatch
Traceback (most recent call last):
File "demo.py", line 95, in
ctx, args.nms_thresh, args.force_nms)
File "demo.py", line 41, in get_detector
data_shape, mean_pixels, ctx=ctx)
File "/home/ubuntu/mxnet/example/ssd_LPR/detect/detector.py"
, line 39, in init self.mod.set_params(args, auxs) File "/home/ubuntu/mxnet/python/mxnet/module/base_module.py", line 503, in set_params allow_missing=allow_missing, force_init=force_init) File "/home/ubuntu/mxnet/python/mxnet/module/module.py", line 198, in init_params _impl(name, arr, arg_params) File "/home/ubuntu/mxnet/python/mxnet/module/module.py", line 188, in _impl cache_arr.copyto(arr) File "/home/ubuntu/mxnet/python/mxnet/ndarray.py", line 533, in copyto return _internal._copyto(self, out=other) File "/home/ubuntu/mxnet/python/mxnet/ndarray.py", line 1225, in unary_ndarray_function c_array(ctypes.c_char_p, [c_str(str(i)) for i in kwargs.values()]))) File "/home/ubuntu/mxnet/python/mxnet/base.py", line 77, in check_call raise MXNetError(py_str(_LIB.MXGetLastError())) mxnet.base.MXNetError: [15:02:26] src/ndarray/ndarray.cc:231: Check failed: from.shape() == to->shape() operands shape mismatch #參考[解決方法](https://github.com/zhreshold/mxnet-ssd/issues/33) #有可能是類別為1的時候CLASSE=(‘label1’),正確為CLASSE=(‘label1’,)

參考文獻:

[1] https://github.com/dmlc/mxnet/tree/master/example/ssd
[2] http://blog.csdn.net/yiweibian/article/details/54847882
[3] https://github.com/zhreshold/mxnet-ssd/issues/33

相關推薦

Mxnet(3)-SSD訓練自己資料

整個ssd的安裝和訓練可以按照官方的例子。 需要注意的是需要編譯ssd相關的程式碼,可以通過兩種方式進行: 直接把ssd目錄下的operator中的檔案複製到src/operator,然後再編譯 設定config.mk,把EXTRA_OPERATOR

SSD訓練自己資料遇到的問題

1在windows上面訓練和測試ssd的方法很少,而且配置也相當之麻煩,搞了幾天才除錯成功。現在寫一下過程分享到部落格上,順便也可以作為今後再次安裝的參考。我的配置環境: windows: 10  gpu: Titan X  cuda: 8.0  caffe: caffe

windows下SSD訓練自己資料

標註軟體:https://github.com/tzutalin/labelImg 使用這個軟體需要python2.7以上,pyqt4,lxml。 先安裝anaconda2.(python2.7) 然後下載pyqt4 ,連結:http://dl.download.csdn.

如何從頭到尾的用caffe-ssd訓練自己資料集並進行目標識別

from __future__ import print_function  import caffe  from caffe.model_libs import *  from google.protobuf import text_format      import math  import os  i

SSD訓練自己資料

詳細參考 Github上SSD教程:https://github.com/weiliu89/caffe/tree/ssd blog.csdn.net/lk123400/article/details/61191239 測試及視覺化參考http://blog.csdn.ne

MobileNet SSD 訓練自己資料

記錄下mobilnet-ssd如何跑自己的資料集。預設環境已經配置好,並且demo.py已經可以成功運行了。 mobilenet-ssd下載路徑(需要注意的點:需要以Git的方式下載,不要以zip的方式下載,否則後面訓練時可能報錯) 步驟記錄:1、製作VOC資料集

SSD演算法理解及利用SSD訓練自己資料

一. SSD演算法理解參考部落格:https://blog.csdn.net/u014380165/article/details/72824889https://blog.csdn.net/wfei101/article/details/78176322二. 安裝並訓練自己

SSD訓練自己資料集 Ubuntu16.04

環境:Ubuntu16.04  cuda8.0 cudnn6一、製作自己的資料集https://github.com/whlook/VOCMakerimgs存放所有的原始圖片JPEGImage 存放所有的訓練集圖片。(1)首先執行rename.py檔案執行rename.py 

caffe-ssd 訓練自己的VOC資料集(一):轉換VOC xml資料為lmdb格式

假設你已經做好了VOC資料標籤,也就是xml檔案,並且已經配置好了caffe-ssd的環境 第一步,在caffe-ssd/data目錄下本身自帶有如下資料夾: 然後在caffe-ssd/data目錄下新建一個資料夾命名為VOCdevkit: 然後data目錄下有:

SSD訓練自己資料

1構建 資料集 先來看一下我們構建資料集合應該是什麼樣的,假設總資料為1000張。 為了方便,我們將資料放在/home/bingolwang/data 資料夾下。/home/bingolwang/data/VOCdevkit 這個目錄下是VOC20

使用pytorch版faster-rcnn訓練自己資料

使用pytorch版faster-rcnn訓練自己資料集 引言 faster-rcnn pytorch程式碼下載 訓練自己資料集 接下來工作 參考文獻 引言 最近在復現目標檢測程式碼(師兄強烈推薦F

《錯誤手記-01》 facenet使用預訓練模型fine-tune重新訓練自己資料集報錯

環境資訊:windows10+python3.5+tensorflow1.6.0 問題描述: 在自己的訓練集上跑train_softmax.py.  引數: --logs_base_dir F:/work/runspace/log/  --models_base_

Kaldi中thchs30訓練自己資料集的步驟

一、資料準備過程 網上下載的thchs-openslr資料集需要換成自己的資料集,包含兩個資料夾:data_thchs30和resource。下面講解如何搞定這一部分。 資料集在data_thchs30檔案中,包含四個部分(data、train、dev、test)。 data資料夾中包

yolov3訓練自己資料集可參考文章

參考部落格原址: https://blog.csdn.net/u012966194/article/details/80004647 這篇文章將介紹編譯darknet框架開始,到整理資料集,到用yolo網路實現一個內部資料集中號碼簿的定

Yolov3訓練自己資料集+資料分析

訓練自己到資料集已經在上一篇文中說明過了,這一篇著重記錄一下資料分析過程 資料分析 1. mAP值計算 1)訓練完成後,執行darknet官方程式碼中到 detector valid 命令,生成對測試集到檢測結果,命令如下: ./darknet detector va

【YOLO初探】之 keras-yolov3訓練自己資料

寫在前面 如何使用官方資料集參看上一篇文章《【YOLO初探】之 使用官方資料集做目標分類》 傳送門:https://blog.csdn.net/plSong_CSDN/article/details/85108256 這裡,筆者使用了260張訓練資料,完成了人臉中“眼睛”、“鼻子”、“嘴

YOLOv2目標檢測_單目標_訓練自己資料全過程(自用)

1.    製作符合要求的VOC資料集 目標:製作如下格式的資料夾 格式: --VOC2017(大寫字母+數字) --Annotations(存放儲存標註資訊的xml) --ImageSets --Main(存放儲存圖片名的train.txttest.txt) --Layo

Fast RCNN 訓練自己資料集 (1編譯配置)

FastRCNN 訓練自己資料集 (1編譯配置) FastRCNN是Ross Girshick在RCNN的基礎上增加了Multi task training整個的訓練過程和測試過程比RCNN快了許多。別的一些細節不展開,過幾天會上傳Fast RCNN的論文筆記。FastRCNN mAP效能上略有上升。Fa

YOLOv3在訓練自己資料集時的速度慢問題

YOLOv3以速度快著稱,但是在訓練自己的資料集時發現儘管在命令中同時開啟了多塊gpu,但速度仍舊很慢。按照其他人的訓練日誌可以看出64batch的單gpu訓練,每次迭代大約需要不到1秒但是自己在訓練時卻需要好幾個小時,首先想到的是自己的資料集是否圖片解析度太高,比較之後發現

YOLO v3 安裝並訓練自己資料

1. 安裝 YOLO v3的安裝與YOLO v2的安裝方法一樣 git clone https://github.com/pjreddie/darknet 直接使用上邊的命令下載YOLO安裝包。下載完以後,開啟進入到安裝包路徑內 cd darkn