[caffe] 数据制作和训练
[caffe] 數據制作和訓練
在使用caffe時,我們希望使用自己的數據進行訓練,以下給出如何制作自己的數據。所有的數據制作都是基于imagenet的。
1.數據準備,我們需要一個train和valid文件夾,一個train.txt和val.txt(圖片文件夾的位置可以任意,但是這兩個txt文件的位置在data/mydata/目錄下)
train和valid文件夾自然就存放著待訓練的圖片,train.txt和val.txt的數據格式如下
?
train_example/1.jpg 0 train_example/2.jpg 0 train_example/3.jpg 0 train_example/4.jpg 0 train_example/5.jpg 0 train_example/6.jpg 0 train_example/7.jpg 0 train_example/8.jpg 0 train_example/9.jpg 0前邊是圖片路徑,后便是label,注意label是從0開始的。
?
2. 在example目錄下創建自己的文件夾mytask,將imagenet中所有的文件烤過來,然后進行修改。
create_imagenet.sh
//當前路徑 EXAMPLE=/home/kongtao/caffe-master/examples/voc2007_test1 //存放train.txt和val.txt的路徑,就是data/mydata DATA=/home/kongtao/caffe-master/data/voc2007_data1 //不變 TOOLS=/home/kongtao/caffe-master/build/tools//存放train和val圖片文件夾的主目錄(這里與txt文件中的目錄合起來才是圖片目錄) TRAIN_DATA_ROOT=/home/kongtao/learn/cnn_learn/VOC2007_research/VOCdevkit/ VAL_DATA_ROOT=/home/kongtao/learn/cnn_learn/VOC2007_research/VOCdevkit/運行create_imagenet.sh,生成兩個數據文件lmdb
?
make_image_mean.sh 也是修改相應的路徑
?
最后需要修改的是model中prototxt文件,只需要修改路徑
?
運行
./build/tools/caffe train --solver=models/bvlc_reference_caffenet/solver.prototxt這樣就可以了。
以上完成了一個數據文件的創建和訓練的過程,對于我們來說,其實網絡架構顯得更重要,因此不僅僅是調通,更重要的是調整網絡架構和改進,這也是最難得部分。
?
?
多chanel,需要對數據進行提前白化
?
import numpy as np import caffe import lmdb# obviously load your own inputs here -- this is just by way of example # to show the data can have any channel dimension # as the dimensions are N x K x H x W inputs = np.zeros((10, 5, 227, 227))in_db = lmdb.open('input-lmdb', map_size=int(1e12)) with in_db.begin(write=True) as in_txn:for in_idx, in_ in enumerate(inputs):in_dat = caffe.io.array_to_datum(in_)in_txn.put('{:0>10d}'.format(in_idx), im_dat.SerializeToString()) in_db.close()?
記錄一下別人制作的東東
http://deepdish.io/2015/04/28/creating-lmdb-in-python/
還有一個
http://blog.csdn.net/ayst123/article/details/44077903
原創文章,轉載請注明出處,謝謝!
http://www.cnblogs.com/taokongcn/p/4341371.html
from:http://www.cnblogs.com/taokongcn/p/4341371.html
總結
以上是生活随笔為你收集整理的[caffe] 数据制作和训练的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google 图片搜索的原理是什么?
- 下一篇: AlphaGo背后的搜索算法:蒙特卡罗树