caffe for Windows图像分类训练、测试实例

数据集使用的是kaggle上的猫狗数据集。
在编译好的caffe->data目录下新建文件夹cat and dog,数据集中的train和test文件夹放到data目录下。
第一步:生成train数据的标签文件,根据图片名生成对应的标签,这里,0是cat,1是dog程序如下:

# -*- coding: utf-8 -*-
"""
Created on Sun Jul  9 20:26:20 2017

@author: ***
"""

import os
def Filenametotxt(dir,file,wildcard,recursion):
    exts=wildcard.split(" ")
    for filesname in os.listdir(dir):
        name=filesname.split(sep='.')
        for exts in exts:
            if(filesname.endswith(exts)&bool(name[0]=='cat')):
                file.write(filesname+" "+"0"+"\n")
            else:
                file.write(filesname+" "+"1"+"\n")

def Test():
    dir="D://Caffe//caffe-master//data//cat and dog//train//"
    outfile="train.txt"
    wildcard=".jpg"

    file=open(outfile,'w')
#    if not file:
#        print("cannot open the file %s writing"% outfile)
    Filenametotxt(dir,file,wildcard,1)
    file.close()
Test()

生成的train.txt放到train目录下。
第二步:转换为caffe支持的数据格式lmdb,或者leveldb。在cat and dog目录下新建批处理文件convert_imageldb_trainset.bat,代码如下:

SET GLOG_logtostderr=1
D:/Caffe/caffe-master/Build/x64/Release/convert_imageset.exe --resize_height=208 --resize_width=208 ./train/ ./train/train.txt ./mtrainldb
pause

第二行代码中由五部分组成,很明显,第一部分为 convert_imageset.exe的路径(找不到的话可以搜索一下),第二部分是对图片大小resize,统一大小(不然第三步会报错)./train/为原始训练图片所在文件夹,./train/train.txt为第一步生成的标签文件,./mtrainldb为转换后的文件夹。
同理,也可以转换test下的图片,在此我没有转换,需要的话再转换。
第三步:数据预处理,计算数据的均值。采用编译好的compute_image_mean.exe代码如下:

SET GLOG_logtostderr=1
D:/Caffe/caffe-master/Build/x64/Release/compute_image_mean.exe ./mtrainldb ./train_mean.binaryproto
pause

目前为止,文件夹中的内容如下:
这里写图片描述
那个Python27.dll可以忽略,因为我的电脑装了27版本和35版本的,运行时提示找不到那个dll文件,我索性直接复制过来了。
第四步:训练网络配置
examples->mnist下的lenet_solver.prototxtlenet_train_test.prototxt复制到cat and dog目录下,并对两个文件进行修改
未完待续…………

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值