1. 下载caltech101数据集
caltech101(101类图像数据库)数据集
下载数据集地址:caltech101数据集
点击 101_ObjectCategories.tar.gz (131Mbytes)下载数据集
2.将下载的tar.gz文件上传到 caffe/data目录下,到对应的目录下执行命令:
解压缩。
caffe数据集的创建需要两个文件: train.txt 和 val.txt, 格式为 图片路径+类别编号
这里用用运行gettxt.py自动生成train.txt和val.txt,gettxt.py的代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
root = os.getcwd() #获取当前路径
data = '101_ObjectCategories' #101数据集的文件夹名称
path = os.listdir(root+'/'+ data) #显示该路径下所有文件
path.sort()
vp = 0.1 #测试集合取总数据前10%
ftr = open('train.txt','w')
fva = open('val.txt','w')
i = 0
for line in path:
subdir = root+'/'+ data +'/'+line
childpath = os.listdir(subdir)
mid = int(vp*len(childpath))
for child in childpath[:mid]:
subpath = data+'/'+line+'/'+child;
d = ' %s' %(i)
t = subpath + d
fva.write(t +'\n')
for child in childpath[mid:]:
subpath = data+'/'+line+'/'+child;
d = ' %s' %(i)
t = subpath + d
ftr.write(t +'\n')
i=i+1
ftr.close() #关闭文件流
fva.close()
3 运行gettxt.py文件:到caffe/data输入命令目录下:python gettxt.py
结果如下:
4 生成lmdb文件
mkdir calt101net # 在caffe/examples下建立一个新文件夹
将caffe/examples/imagenet下的create_imagenet.sh 复制到calt101net中
修改create_imagenet.sh内容:
5 运行 ./examples/calt101net/create_imagenet.sh 生成lmdb文件,运行结果如下图所示
6 把 caffe/examples/mnist下的lenet_train_test.prototxt,lenet_solver.prototxt,train_lenet.sh复制到calt101net中。
修改lenet_train_test.prototxt:
修改lenet_solver.prototxt:
修改train_lenet.sh:
7 训练网络
使用命令: