如何用自己的数据训练cifar10数据集使用

1604人阅读
A,准备自己的数据
图像数据从徐其华的博客,(网盘下载:http://pan.baidu.com/s/1nuqlTnN。
这是一个小型的图片数据库,这个图片数据库有500张图片;训练样本400张,测试样本100张;分为5类:bus,dinosaur,elephant,rose,horse(大巴,恐龙,大象,鲜花,马)
整理数据,重新命名及重新设置大小,做成32×32像素的数据,与CIFAR10数据大小保持一致。
python修改文件名代码:
def rename():
#文件名的起始值
在此设置文件名的起始值
path='//home//lw//deeplearning//re//train//bus1';
#所要修改的文件所在地方
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件扩展名
Newdir=os.path.join(path,str(count)+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
print "修改完成"
rename();python修改文件大小代码:
from PIL import ImageTk, Image
def resizeImg():
path='/home/lw/workspace/resizeImg/train/bus/';
#所要修改的文件所在地方
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
files = path + files
im = Image.open(files)
x_s = 256 #define standard width
y_s = 256 #calc height based on standard width
out = im.resize((x_s,y_s),Image.ANTIALIAS) #resize image with high-quality
out.save(files)
print "修改完成"
resizeImg()注意:在此需要修改一些文件目录的位置,请自己调整路径或文件所在位置
B.针对数据,打标签,生成train.txt,val.txt文件
打标签python代码:
def IsSubString(SubStrList,Str):
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)
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
if len(FileList)&0:
FileList.sort()
return FileList
#1.制作训练集中的标签
train_txt=open('train.txt','w')
#制作标签数据
imgfile=GetFileList('train/bus')
for img in imgfile:
str1=img+' '+'0'+'\n'
#用空格代替转义字符 \t
train_txt.writelines(str1)
imgfile=GetFileList('train/dinosaur')
for img in imgfile:
str1=img+' '+'1'+'\n'
#用空格代替转义字符 \t
train_txt.writelines(str1)
#根据所属类型训练数据的多少,自行添加上述四行代码
train_txt.close()
#测试集文件列表
test_txt=open('val.txt','w')
#制作标签数据,如果是男的,标签设置为0,如果是女的标签为1
imgfile=GetFileList('val/bus')#将数据集放在与.py文件相同目录下
for img in imgfile:
str1=img+' '+'0'+'\n'
test_txt.writelines(str1)
imgfile=GetFileList('val/dinosaur')#将数据集放在与.py文件相同目录下
for img in imgfile:
str1=img+' '+'1'+'\n'
test_txt.writelines(str1)
#根据所属类型测试数据的多少,自行添加上述四行代码
test_txt.close()
print("成功生成文件列表")
最后结果如下图:
C.制作lmdb文件
a.在caffe目录下面的examples目录下,建立一个自己的文件目录,如:testCreateLmDB,友情提醒:必须在这建立,这样好应用caffe提供的建立lmdb文件
b.从caffe目录下examples/imagenet目录中将create_imagenet.sh文件copy至自己所建立的文件目录,
如:testCreateLmDB,并修改相关路径。如下代码如下,一定要注意 目录路径,否则制作不成功。
#!/usr/bin/env sh
# Create the imagenet lmdb inputs
# N.B. set the path to the imagenet train + val data dirs
EXAMPLE=examples/testCreateLmDB
#EXAMPLE为当前文件在caffe目录的相对路径。
DATA=/home/lw/caffe/my_data
#数据所在位置,此处一定不要加/
TOOLS=build/tools
#该路径要保持不变
TRAIN_DATA_ROOT=/home/lw/caffe/my_data/
#训练数据的绝对路径。
VAL_DATA_ROOT=/home/lw/caffe/my_data/
#验证数据的绝对路径。
# Set RESIZE=true to resize the images to 256x256. Leave as false if images have
# already been resized using another tool.
RESIZE=true
#RESIZE为是否对图像进行缩放
if $RESIZE; then
RESIZE_HEIGHT=32
RESIZE_WIDTH=32
RESIZE_HEIGHT=0
RESIZE_WIDTH=0
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_imagenet.sh to the path" \
"where the ImageNet training data is stored."
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_imagenet.sh to the path" \
"where the ImageNet validation data is stored."
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/my_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/my_val_lmdb
#修改生成后的测试文件名
echo "Done."
c.在终端的caffe目录下执行该脚本,否则也执行不成功,一定是caffe目录下,因为:TOOLS=build/tools
至此完成自己的图像数据CAFFE格式制作查看: 1191|回复: 0
机器学习日报
(TensorFlow)CIFAR-10数据集图像分类实例;基于gpuArray的轻量MATLAB深度学...
主题帖子积分
机器学习日报
@王威廉 @网路冷眼 @爱可可-爱生活 @伯乐在线官方微博 @爱可可-爱生活
@ 出品,由@AI100运营, 过往目录 见
订阅:关注微信公众号 AI100(ID:rgznai100,扫二维码),回复“机器学习日报”,加你进日报群
邮件版包括19条,本期的有完整内容22条
用日报搜索找到以前分享的内容: 今日焦点 (5)
为了庆祝超过7万粉丝,我给大家提供一些近期的机器学习及自然语言处理阅读材料:本人在最近三学期的实验室研读会选出的大约30篇近期重点关注论文。16秋: 17冬: 17春:
【如何捕捉冗长讨论里的目标信息?谷歌推出最大标注数据集】信息爆炸时代,如何在浩瀚如海的网络中找到自己的需求?谷歌研究团队提出了Coarse Discour,可以将一段文字中“废话”剔除,精准识别用户所需要的目标信息。
【(TensorFlow)CIFAR-10数据集图像分类实例】“CIFAR-10 dataset Image Classification with TensorFlow” by Rajiv Kumar GitHub:
《Quora 在 2017 年是如何运用机器学习的》Quora 的工程经理 Nikhil-Dandekar 讲解 Quora 在 2017 年如何运用机器学习来优化问题检索、邀请、回答的排序和广告等。 ( Lada 译,欢迎加入翻译组:)
【基于gpuArray的轻量MATLAB深度学习工具箱】’A lightweight MATLAB deeplearning toolbox,based on gpuArray.' by QuantumLiu GitHub:
【Neural Architecture Search with Reinforcement Learning】 Google Brain 论文《使用加强学习的神经架构搜索》,点击链接下载:
【百度技术沙龙免费报名】5月20日百度技术沙龙:深度解读开源数据库Tera架构与应用专场将邀请百度网页搜索基础架构 & 调研架构团队技术经理齐志宏介绍介绍 Tera 作为核心技术,是如何支撑百度链接存储,实时索引筛选以及实时用户行为分析等多个重要系统的。点击免费报名
【Facebook推开源软件平台ParlAI,能否解决机器人灵魂缺失问题?】5月16号,Facebook官网公布,推出全新开源软件平台ParlAI, 致力于打造一站式对话研究商店,加快提高聊天机器人的智能聊天水平。这必将会给整个机器人制造业带来新的机遇和革命式的发展。
【老黄呕心之作,英伟达能凭借Tesla V100技压群雄吗?】上周,英伟达在加州举行了2017年的GPU技术大会(GTC2017)。在大会上,英伟达CEO黄仁勋发布了全新力作——NVIDIA Tesla V100。根据英伟达官方介绍,Tesla V100采用了全新架构Volta,不仅会有更强的性能,还增加了TensorCore用以专门针对深度学习
Key-Value Retrieval Networks for Task-Oriented Dialogue #对话系统# 本文的具体研究场景是车载智能助理,作者提出了一种基于知识库的端到端解决方案,车的response信息检索自形如key-value知识库中。文章会在后面开放出一个数据集出来供大家研究。本文工作来自斯坦福Christopher D. Manning组。
【苹果最刁钻的33个面试题,有种就来挑战!】根据美国最大的工作信息网站Glassdoor的面试题目汇总,我们精选出了33道最难的面试题目。有一些需要复杂的数学计算;还有一些虽然简单,但是语义却模糊不清。来,今天给出20道!
文本分析基本上可以作为文本挖掘(Text Mining)的同义词,当前,商业环境更多采用文本分析这个词,而文本挖掘这个词主要用在最早采用此技术的应用领域。   文本分析采用自然语言处理(NLP:Natural Language Processing)和分析方法将文本内容转换成数据用于分析。相关技术众多,例
【从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?】开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力。那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一个参考。你最看好哪个深
【取自Reddit万条帖子的在线讨论文本数据集】“Coarse Discourse: A Dataset for Understanding Online Discussions” by Google GitHub: ref:
paper:《Characterizing Online Discussion Using Coarse Discourse Sequences》
【实战体验:如何只看两节fast.ai深度学习课程花一天时间杀入Kaggle入侵物种检测竞赛前50%】《How I built a deep learning application to detect invasive species in just 1 day (and for $12.60)》by Kevin Dewalt GitHub: pdf:
【新智元导读】2016年年底,上海交通大学的两位研究者发布了一项题为“利用脸部照片自动推断犯罪性”的研究,基于有监督的机器学习的方法,根据人的脸部特征预测一个人是否有犯罪倾向,“准确率接近90%”。该研究在国内外引起了广泛的争议。
5月12日,清华大学微电子所钱鹤、吴华强课题组在《自然通讯》(Nature Communications)在线发表了题为 “运用电子突触进行人脸分类”(“Face Classification using Electronic Synapses”)的研究成果,将氧化物忆阻器的集成规模提高了一个数量级,首次实现了基于1024个氧化物忆阻器阵列的类脑计算。
人工智能的算法如果进入公司董事会,那么它(他她)在决策时,就会选择另一个人工智能算法作为潜在的投资甚至合作对象(已经被实验所证实)。在这个过程中,作为算法的它(他她)在行动上“毫无恶意”,但在结果上却“充满恶意”。
【深度学习Twitter仇恨言论检测】’Deep Learning models to detect hate speech in tweets' by Pinkesh Badjatiya GitHub:
Powered by深度学习中,影响cifar10训练时间的因素有哪些?采用CNN进行训练
[问题点数:40分,结帖人u]
深度学习中,影响cifar10训练时间的因素有哪些?采用CNN进行训练
[问题点数:40分,结帖人u]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|

我要回帖

更多关于 cifar10数据集使用 的文章

 

随机推荐