1. 程式人生 > >Caffe 資料集製作及使用

Caffe 資料集製作及使用

假設處理Pascal VOC資料集,

影象檔案存放路徑:/home/my/caffe/data/pascal/JPEGImages/(訓練影象和測試影象在一個資料夾內,)

train.txt路徑:/home/my/caffe/data/pascal/

val.txt路徑:/home/my/caffe/data/pascal/

網路訓練檔案路徑:/home/my/caffe/examples/pascal

其中網路訓練檔案就是將/home/my/caffe/examples/imagenet資料夾中的文件全部複製過來,修改檔名。

1.前期準備:

我們有兩個資料集:訓練集train和測試集valtrainval資料夾中存放了原始影象,train.txt

val.txt中存放了影象檔名和標籤。txt資料夾中的影象名必須與資料夾中影象名稱一致,且TXT檔案中的影象名稱是包含字尾的,名稱與標籤之間只能有一個空格!!!若無後綴或者空格較多等情況,使用文件編輯器的查詢與替換功能批量處理,無需寫程式檔案。

2.生成lmdb檔案

修改create_pascal.sh(就是create_imagenet.sh檔案,只是根據需要改了名字)

#!/usr/bin/env sh
# Create the pascal lmdb inputs
# N.B. set the path to the pascal train + val data dirs
set -e
EXAMPLE=examples/pascal #輸出lmdb的路徑,這裡無需新增絕對路徑,且路徑前後都沒有“/”
DATA=data/pascal        #txt檔案的路徑
TOOLS=build/tools       
 
#TRAIN_DATA_ROOT=/path/to/pascal/train/
#VAL_DATA_ROOT=/path/to/pascal/val/
 
TRAIN_DATA_ROOT=data/pascal/JPEGImages/   #訓練影象路徑
VAL_DATA_ROOT=data/pascal/JPEGImages/     #測試影象路徑
 
# Set RESIZE=true to resize the images to 256x256. Leave as false if images have
# already been resized using another tool.
RESIZE=true         #資料集影象需要更改大小的話就設為true,否則false
if $RESIZE; then
  RESIZE_HEIGHT=256
  RESIZE_WIDTH=256
else
  RESIZE_HEIGHT=0
  RESIZE_WIDTH=0
fi
 
if [ ! -d "$TRAIN_DATA_ROOT" ]; then
  echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"
  echo "Set the TRAIN_DATA_ROOT variable in create_pascal.sh to the path" \
       "where the pascal training data is stored."
  exit 1
fi
 
if [ ! -d "$VAL_DATA_ROOT" ]; then
  echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"
  echo "Set the VAL_DATA_ROOT variable in create_pascal.sh to the path" \
       "where the pascal validation data is stored."
  exit 1
fi
 
rm -rf $EXAMPLE/pascal_train_lmdb    #刪除原有lmdb檔案,否則無法執行第二次
rm -rf $EXAMPLE/pascal_val_lmdb      
 
echo "Creating train lmdb..."
 
GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    $TRAIN_DATA_ROOT \
    $DATA/train.txt \
    $EXAMPLE/pascal_train_lmdb
 
echo "Creating val lmdb..."
 
GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    $VAL_DATA_ROOT \
    $DATA/val.txt \
    $EXAMPLE/pascal_val_lmdb
 
echo "Done."
-shuffle: 是否隨機打亂圖片順序。預設為false

3.二進位制均值檔案make_pascal_mean.sh

#!/usr/bin/env sh
# Compute the mean image from the imagenet training lmdb
# N.B. this is available in data/ilsvrc12
 
EXAMPLE=examples/pascal  #同第2步
DATA=data/pascal
TOOLS=build/tools
 
$TOOLS/compute_image_mean $EXAMPLE/pascal_train_lmdb \
  $DATA/pascal_mean.binaryproto
 
echo "Done."

4.如何在原有訓練模型上繼續訓練?

在訓練資料夾中建立resume_train.sh,內容與訓練sh檔案相同,開啟後,

#!/usr/bin/env sh
set -e
./build/tools/caffe train \
--solver=examples/pascal/solver.prototxt [email protected]

在刪除“[email protected]”後新增“\”,新增

--snapshot=examples/pascal/caffenet_train_10000.solverstate.h5

create_pascal.sh內容為

#!/usr/bin/env sh
set -e
./build/tools/caffe train \
--solver=examples/pascal/solver.prototxt \
--snapshot=examples/pascal/caffenet_train_10000.solverstate.h5

說明在迭代10000次之後的模型(模型檔案caffenet_train_10000.solverstate.h5,其實還有一個檔案,不過填的是這個)中繼續訓練。

相關推薦

Caffe 資料製作使用

假設處理Pascal VOC資料集, 影象檔案存放路徑:/home/my/caffe/data/pascal/JPEGImages/(訓練影象和測試影象在一個資料夾內,) train.txt路徑:/home/my/caffe/data/pascal/ val.txt路徑:/

caffe fcn資料製作 -標籤

caffe下fcn資料集的製作:看過我上篇部落格的人,想必已經跑通了作者的fcn資料集,現在就是製作自己的資料集並進行訓練。其實不難,首先我們分析一下作者的資料集。根據他的資料集,模仿一個即可。首先我們看作者訓練時需要的兩個資料集voc和dataset(這裡我的voc,我自己改了名字叫做voc2016):

windows10+GPU下caffe資料Lmdb格式製作+訓練自己資料

最近做人臉識別專案,想用到caffe訓練自己的資料,電腦作業系統為win10+GPU,這裡對caffe-windows配置、資料集製作、訓練資料都做一些介紹。(無GPU配置的看我這個部落格)。如果你用的是vs2015,那麼下面介紹的caffe不適合,要用BVLC wind

caffe資料製作有幾篇csdn上的博文還是蠻有用的。我總結了一下給大家連結上

深度學習caffe平臺--製作自己.lmdb格式資料集及分類標籤檔案 https://blog.csdn.net/guo1988kui/article/details/78356736 Caffe學習筆記3——製作並訓練自己的資料集 https://blog.csdn.net/hit20

caffe資料製作。本人小白都是自己一點點走過的坑。希望能幫到大家。

我是做分類的資料集二分類 首先建立一個資料夾名為Ttrain 其次在Ttrain下建立train和val子資料夾 再次在train資料夾下建立兩個資料夾,這裡分別為train_good和train_bad val資料夾也類似。同樣也是在val下建立兩個資料夾名為val_good和va

Win10系統下一步一步教你實現MASK_RCNN訓練自己的資料(使用labelme製作自己的資料需要注意的大坑

一、Labelme的安裝 二、製作自己的資料集       2.1 首先使用labelme標註如下樣式圖片(我的圖片是jpg格式)            2.2每個檔案生成一個對應的.json檔案。如下              2.3執行上面參考部落格最後給

資料製作之xml檔案轉化為csv

# -*- coding: utf-8 -*- """ 將資料夾內所有XML檔案的資訊記錄到CSV檔案中 """ import os import glob import pandas as pd import xml.etree.ElementTree as ET os.chdir('

資料製作之txt轉xml

問題描述: 現有images圖片,txt檔案包含四種類別bounding box 座標,需要將txt中兩種類別座標提取出來並轉化成xml檔案。 images資料夾中有18184張圖片,txt資料夾中只有16907個txt檔案(即有一千多張圖片是沒有標註的,需要將這些圖片刪除

SpaceNet遙感資料下載資料說明

資料集簡介:http://chgcx.sirt.edu.cn/a/2016/08/30/2016083020191315442.html 資料集說明:https://amazonaws-china.com/cn/public-datasets/

論文Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks實現之資料製作

1.資料集 本文采用的是STS資料集,如下圖所示,包括所有的2012-2016年的資料,而all資料夾包含2012-2015的所有資料。 每一個檔案的具體資料如下所示,每一行為一個三元組:<相似性得分,句子1,句子2>. 在實現時將all資料夾中的所有資料當作

VOC格式資料製作

rename %% %圖片儲存路徑為: %E:\image\car %E:\image\person %car和person是儲存車和行人的資料夾 %這些資料夾還可以有多個, %放在image資料夾裡就行 %該程式碼的作用是將圖片名字改成000123.jp

VOC2007格式資料製作

                                <div class="article-copyright">                     版權宣告:本文為博主原創文章,轉載需宣告出處。                    http

關於資料製作過程中對圖片的一些操作

#給圖片建立資料名稱列表: ls > list.txt 給當目錄下的圖片在當前目錄下一個名為list.txt的圖片名稱列表文字檔案 #在已建立圖片名稱列表文字檔案的前提下,給圖片增添型別號 在圖片所在的資料夾下開啟終端,執行下列命令: sed -i “1

科比資料分析預測

愛籃球,愛人工智慧,愛生活。探索性的對科比資料集進行分析import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline from sklearn.ense

影象分割 | FCN資料製作的全流程(影象標註)

一 全卷積神經網路 文章所有程式碼已上傳至github,覺得好用就給個star吧,謝謝 深度學習影象分割(FCN)訓練自己的模型大致可以以下三步: 1.為自己的資料製作label; 2.將自己的資料分為train,val和test集; 3.仿照voc_lyaers.py編寫自己的輸入資料層。

MXNET資料製作,生成rec檔案

https://github.com/apache/incubator-mxnet/blob/master/tools/im2rec.py (一)製作rec資料集 (1)下載im2rec.py 檔案 (2)python im2rec.py train 檔案地址(內部按類別分成不同的資料夾)

ubuntu 使用yolov3 yolo-tiny-v3 基於cudnn 7.1 + cuda 9.1 + opencv 3.4.0 以及yolo資料製作

1.我在Ubuntu官網上直接下載並安裝ubuntu ,顯示卡使用的gtx10702.在nvidia官網家上下載cuda9.1 runtime ubuntu16.04版本3.下載cudnn7.1 (需要註冊)4.在opencv官網上下載opencv3.4.0 原始碼5.在nv

利用Darket 和YOLOV3訓練自己的資料(製作VOC)

1. 配置Darknet 下載darknet原始碼:git clone https://github.com/pjreddie/darknet 進入darknet目錄: cd darknet 如果是cpu直接make,否則需要修改Makefile,設

貓狗資料下載基於TensorFlow的實現分類

一、kaggle地址:      Using a Convolutional Neural Network for classifying Cats vs Dogs 二、相關參考:     1.基

Tensorflow框架下Faster-RCNN實踐(一)——Faster-RCNN所需資料製作(附程式碼)

最近剛實現了在Ubuntu16.04、Tensorfllow1.0下 Faster R-CNN 從資料製作到訓練再到利用生成的模型檢測的測試圖片的全過程,現在將具體的過程記錄在部落格,方便遇到困惑或者需要的朋友檢視。 製作資料集 利用Fast