日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > Caffe >内容正文

Caffe

Caffe学习笔记3——制作并训练自己的数据集

發(fā)布時間:2025/3/15 Caffe 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caffe学习笔记3——制作并训练自己的数据集 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Caffe學(xué)習(xí)筆記3

本文為原創(chuàng)作品,未經(jīng)本人同意,禁止轉(zhuǎn)載,禁止用于商業(yè)用途!本人對博客使用擁有最終解釋權(quán)

歡迎關(guān)注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing

http://caffe.berkeleyvision.org/gathered/examples/feature_extraction.html

這篇博客主要是用imagenet的一個網(wǎng)絡(luò)模型來對自己的圖片進(jìn)行訓(xùn)練和測試

圖片下載網(wǎng)址:http://download.csdn.net/detail/hit2015spring/9704947

參考文章:

http://caffe.berkeleyvision.org/gathered/examples/imagenet.html

?

1、準(zhǔn)備數(shù)據(jù),生成樣本標(biāo)簽

在caffe/data 文件夾下新建文件夾myself

這篇文章主要是幫助你怎么準(zhǔn)備你的數(shù)據(jù)集,怎么訓(xùn)練你自己的模型尺度,在這個筆記中主要是對自己網(wǎng)上下載的車,馬,恐龍,花,進(jìn)行訓(xùn)練和測試,訓(xùn)練2類各80張,測試各20張,放在/data/myself 目錄下的train和val文件夾下,這些圖片分類好了

這里面的圖像的大小全部為的,可以在終端用命令行,調(diào)整圖像大小,訓(xùn)練和測試的圖像均為

for name in data/myself/val/val_dinosar/*.JPEG; do

convert -resize 256x256\! $name $name

done

給這些圖片制作索引標(biāo)簽,生成訓(xùn)練和測試的txt文件,用批量處理工具對這些圖片進(jìn)行處理:在data/myself/ 文件夾下面建立一個label.py的python腳本文件

#<pre name="code"class="python">

#coding:utf-8

'''''

Created on Jul 29, 2016

?

@author: sgg

'''

?

"<span style=""font-family:Arial;font-size:18px;"">"

"<span style=""font-size:18px;"">"

"<span style=""font-size:18px;"">"

import os

?

def IsSubString(SubStrList,Str):

flag=True

for substr in SubStrList:

if not(substr in Str):

flag=False

?

return flag

?

#掃面文件

def GetFileList(FindPath,FlagStr=[]):

FileList=[]

FileNames=os.listdir(FindPath)

if len(FileNames)>0:

for fn in FileNames:

if len(FlagStr)>0:

if IsSubString(FlagStr,fn):

fullfilename=os.path.join(FindPath,fn)

FileList.append(fullfilename)

else:

fullfilename=os.path.join(FindPath,fn)

FileList.append(fullfilename)

?

if len(FileList)>0:

FileList.sort()

?

return FileList

?

?

?

train_txt=open('train.txt','w')

#制作標(biāo)簽數(shù)據(jù),如果是狗的,標(biāo)簽設(shè)置為0,如果是貓的標(biāo)簽為1

imgfile=GetFileList('train/train_dinosar')#將數(shù)據(jù)集放在與.py文件相同目錄下

for img in imgfile:

str1=img+' '+'4'+'\n' #用空格代替轉(zhuǎn)義字符 \t

train_txt.writelines(str1)

?

?

imgfile=GetFileList('train/train_ele')

for img in imgfile:

str2=img+' '+'3'+'\n'

train_txt.writelines(str2)

?

?

#imgfile=GetFileList('train/train_flower')#將數(shù)據(jù)集放在與.py文件相同目錄下

#for img in imgfile:

# str3=img+' '+'2'+'\n' #用空格代替轉(zhuǎn)義字符 \t

# train_txt.writelines(str3)

?

?

#imgfile=GetFileList('train/train_horse')

#for img in imgfile:

# str4=img+' '+'1'+'\n'

# train_txt.writelines(str4)

?

?

#imgfile=GetFileList('train/train_truck')

#for img in imgfile:

# str5=img+' '+'0'+'\n'

# train_txt.writelines(str5)

train_txt.close()

?

#測試集文件列表

test_txt=open('val.txt','w')

#制作標(biāo)簽數(shù)據(jù),如果是男的,標(biāo)簽設(shè)置為0,如果是女的標(biāo)簽為1

imgfile=GetFileList('val/val_dinosar')#將數(shù)據(jù)集放在與.py文件相同目錄下

for img in imgfile:

str6=img+' '+'4'+'\n'

test_txt.writelines(str6)

?

?

imgfile=GetFileList('val/val_ele')

for img in imgfile:

str7=img+' '+'3'+'\n'

test_txt.writelines(str7)

?

?

#imgfile=GetFileList('val/val_flower')#將數(shù)據(jù)集放在與.py文件相同目錄下

#for img in imgfile:

# str8=img+' '+'2'+'\n'

# test_txt.writelines(str8)

?

?

#imgfile=GetFileList('val/val_horse')

#for img in imgfile:

# str9=img+' '+'1'+'\n'

# test_txt.writelines(str9)

?

?

#imgfile=GetFileList('val/val_truck')

#for img in imgfile:

# str10=img+' '+'0'+'\n'

# test_txt.writelines(str10)

test_txt.close()

?

print("成功生成文件列表")

在終端運(yùn)行該腳本

python label.py

可以在data/myself/ 文件夾下生成兩個txt文件,train.txt和val.txt

2、生成lmdb文件

在caffe/ 文件夾下新建myself文件夾,

從/home/xxx/caffe/examples/imagenet下復(fù)制create_imagenet.sh文件到caffe/myself

修改create_imagenet.sh里面的路徑設(shè)置

其中:

EXAMPLE =/home/wangshuo/caffe/myself

表示生成的LMDB文件存放的位置

DATA=/home/wangshuo/caffe/data/myself

表示數(shù)據(jù)標(biāo)簽存放的位置

TRAIN_DATA_ROOT=/home/wangshuo/caffe/data/myself/

VAL_DATA_ROOT=/home/wangshuo/caffe/data/myself/

表示訓(xùn)練和測試數(shù)據(jù)的位置,注意這里只填到myself這一級的目錄。

GLOG_logtostderr=1 $TOOLS/convert_imageset \

--resize_height=$RESIZE_HEIGHT \

--resize_width=$RESIZE_WIDTH \

--shuffle \

$TRAIN_DATA_ROOT \

$DATA/train.txt \

$EXAMPLE/ilsvrc12_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/ilsvrc12_val_lmdb

EXAMPLE/ilsvrc12_val_lmdb

表示生成文件名為ilsvrc12_train_lmdb 和ilsvrc12_val_lmdb

在caffe根目錄下運(yùn)行create_imagenet.sh

./myself/create_imagenet.sh

在caffe/myself文件夾下生成lmdb文件

3、生成均值文件

從caffe/ examples/imagenet/ 拷貝make_imagenet_mean.sh文件到caffe/myself 文件夾下

修改該文件

EXAMPLE=/home/wangshuo/caffe/myself

##上面生成的lmdb文件目錄

DATA=/home/wangshuo/caffe/data/myself

###生成文件所要存放的目錄

TOOLS=/home/wangshuo/caffe/build/tools

?

在caffe根目錄下運(yùn)行該文件

./myself/make_imagenet_mean.sh

在caffe/data/myself 下生成imagenet_mean.binaryproto文件

4、模型定義

復(fù)制models/bvlc_reference_caffenet/train_val.prototxt到caffe/myself文件夾,并修改路徑

mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"

source: "examples/imagenet/ilsvrc12_train_lmdb"

mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"

source: "examples/imagenet/ilsvrc12_val_lmdb"

?

mean_file: "data/myself/imagenet_mean.binaryproto"

source: "myself/ilsvrc12_train_lmdb"

mean_file: "data/myself/imagenet_mean.binaryproto"

source: "myself/ilsvrc12_val_lmdb"

?

這里還有一個bitch_size的參數(shù),該參數(shù)如果過大,會提示GPU內(nèi)存不夠,在這里我設(shè)置為8

?

?

復(fù)制models/bvlc_reference_caffenet/solver.prototxt到caffe/myself

文件夾下,并修改文件路徑

net: "myself/train_val.prototxt" ##模型所在目錄

snapshot_prefix: "myself/caffenet_train"##生成的模型參數(shù)

test_iter: 1000 是指測試的批次,我們就 20 張照片,設(shè)置20就可以了。

test_interval: 1000 是指每 1000 次迭代測試一次,我們改成 500 次測試一次。

base_lr: 0.01 是基礎(chǔ)學(xué)習(xí)率,因?yàn)閿?shù)據(jù)量小, 0.01 就會下降太快了,因此改成 0.001

lr_policy: "step"學(xué)習(xí)率變化

gamma: 0.1 學(xué)習(xí)率變化的比率

stepsize: 100000 每 100000 次迭代減少學(xué)習(xí)率

display: 20 每 20 層顯示一次

max_iter: 450000 最大迭代次數(shù),

momentum: 0.9 學(xué)習(xí)的參數(shù),不用變

weight_decay: 0.0005 學(xué)習(xí)的參數(shù),不用變

snapshot: 10000 每迭代 10000 次顯示狀態(tài),這里改為 2000 次

solver_mode: GPU 末尾加一行,代表用 GPU 進(jìn)行

5、訓(xùn)練

在caffe根目錄下運(yùn)行

./build/tools/caffe time --model=myself/train_val.prototxt

總結(jié)

以上是生活随笔為你收集整理的Caffe学习笔记3——制作并训练自己的数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 玩偶游戏在线观看免费 | 在线观看视频二区 | 国产精品福利在线播放 | 黄色片子网站 | 中文字幕22页 | 日韩欧美亚洲一区二区 | 夜夜操综合 | 一区二区三区在线视频观看 | 色姐| 亚洲综合一区在线观看 | 一区二区久久精品66国产精品 | 美国美女群体交乱 | 国产精品亚洲欧美在线播放 | 亚洲精品ww| 国产精品女教师 | 日韩精品91 | 国产区视频在线 | 国语对白真实视频播放 | 国产制服91一区二区三区制服 | 奇米精品一区二区三区四区 | 色屁屁| 日日夜夜一区 | 99久久精品国产一区二区三区 | 欧美午夜精品一区二区蜜桃 | 国产青青草 | 欧美人体做爰大胆视频 | 激情综合网婷婷 | 国产精品九九九九 | 国产精品大片 | 国产麻豆剧果冻传媒白晶晶 | 中文字幕一区不卡 | 亚洲欧美一区二区三区不卡 | 五月婷婷啪啪 | 国产精品白浆一区二小说 | 动漫精品一区 | 亚洲色图网友自拍 | 久久成年人 | av色在线| 可以直接观看的av | av一区二区三区免费观看 | 91淫黄大片 | 亚洲 欧美 视频 | 囯产精品一品二区三区 | 亚洲av无码一区二区乱孑伦as | 欧美射图 | 91在线导航 | 欧美aa在线观看 | 国产最新视频 | 日本中文字幕在线视频 | 一女被多男玩喷潮视频 | 精品人妻一区二区三区浪潮在线 | 天天躁夜夜躁狠狠躁 | 一区二区三区伦理片 | 亚洲欧美在线观看视频 | 成人h动漫精品一区二区器材 | 午夜在线免费观看视频 | 日韩av成人网 | 青青草国产成人av片免费 | 天天操精品 | 又大又长粗又爽又黄少妇视频 | 七七色影院 | 久久av中文字幕 | 久久精品视频免费观看 | 日韩乱码人妻无码中文字幕 | 青青草逼 | 长篇乱肉合集乱500小说日本 | 日韩有码专区 | 神宫寺奈绪一区二区三区 | 在线高清av | 国产精品不卡 | 五月婷婷开心网 | 一卡二卡三卡在线 | www.夜夜| 粉嫩av国产一区二区三区 | 亚洲一区二区免费看 | 国内精品91 | 亚洲欧美激情在线观看 | 可以免费看的毛片 | 黄色av日韩 | √天堂资源地址在线官网 | 国产第一页屁屁影院 | 国产日韩欧美二区 | 日产精品一区 | 性一交一乱一伧老太 | 日本在线视频一区 | 91网址入口 | 天天精品视频 | 国产精品99久| 手机看片一区二区三区 | 国产精品久久久91 | www.久久色 | 国产91热爆ts人妖在线 | 久久久国产一区二区三区 | av电影免费在线播放 | 日韩中文字幕精品视频 | 免费av在线播放网址 | 欧美色图第一页 | 亚洲精品视频在线观看免费 | 欧洲女女同性videoso |