用caffe训练一个spp_net网络
2016-03-30 15:03
393 查看
virtualinlineconstchar*type()const
{ return"SPP";
}
virtual
LayerParameter GetPoolingParam(constint
pyramid_level,constint
bottom_h, constint
bottom_w, const
SPPParameter spp_param);
int
pyramid_height_;
int
bottom_h_, bottom_w_;
int
num_;
int
channels_;
int
kernel_h_, kernel_w_;
int
pad_h_, pad_w_;
bool
reshaped_first_time_;
构建时需要考虑的参数值
1.准备数据,在examples路径下新建一个目录 spp_net,将n03791053摩托车、n03895866客车、n04285008跑车、n04467665大货车、n04487081无轨电车这5类的图片放入到该目录下,每种车型一个目录。
>>ll
/root/deep/gjj/caffe-master/examples/spp_net
drwxr-xr-x
2 root root 73728 Mar 30 15:24 n03791053
drwxr-xr-x 2 root root 77824 Mar 30 15:25 n03895866
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04285008
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04467665
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04487081
2.准备标签文件,训练和测试的输入是用
train.txt中 n03791053/n03791053_10013.JPEG
670
val.txt中
val/ILSVRC2012_val_00027580.JPEG 705
3.将examples/imagenet/create_imagenet.sh复制到spp_net目录下,并修改里面的内容,在spp_net下生成lmdb格式的图像信息。
EXAMPLE=examples/spp_net
DATA=examples/spp_net/
TOOLS=build/tools
TRAIN_DATA_ROOT=examples/spp_net/
VAL_DATA_ROOT=examples/spp_net/
此外,我把图片的大小改成了224*224
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=224
RESIZE_WIDTH=224
4.没有去做均值,直接构建spp_solver.prototxt和Zeiler_spp_scale224.prototxt
spp_solver.prototxt中设置
solver_mode: CPU
Zeiler_spp_scale224.prototxt将卷积第五层之后的池化改为spp池化,根据caffe.proto中的定义来改
layer {
name: "pool5_spp"
type: "SPP"
bottom: "conv5"
top: "pool5_spp"
spp_param{
pyramid_height:3
pool: MAX
}
}
5.把下面的命令写到spp_train_caffenet.sh中或直接运行:
/root/deep/gjj/caffe-master/build/tools/caffe train --solver=spp_solver.prototxt
{ return"SPP";
}
virtual
LayerParameter GetPoolingParam(constint
pyramid_level,constint
bottom_h, constint
bottom_w, const
SPPParameter spp_param);
int
pyramid_height_;
int
bottom_h_, bottom_w_;
int
num_;
int
channels_;
int
kernel_h_, kernel_w_;
int
pad_h_, pad_w_;
bool
reshaped_first_time_;
构建时需要考虑的参数值
1.准备数据,在examples路径下新建一个目录 spp_net,将n03791053摩托车、n03895866客车、n04285008跑车、n04467665大货车、n04487081无轨电车这5类的图片放入到该目录下,每种车型一个目录。
>>ll
/root/deep/gjj/caffe-master/examples/spp_net
drwxr-xr-x
2 root root 73728 Mar 30 15:24 n03791053
drwxr-xr-x 2 root root 77824 Mar 30 15:25 n03895866
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04285008
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04467665
drwxr-xr-x 2 root root 73728 Mar 30 15:25 n04487081
2.准备标签文件,训练和测试的输入是用
train.txt和
val.txt来描述的。里面的格式都是路径加文件名 空格 类别号。如下:
train.txt中 n03791053/n03791053_10013.JPEG
670
val.txt中
val/ILSVRC2012_val_00027580.JPEG 705
3.将examples/imagenet/create_imagenet.sh复制到spp_net目录下,并修改里面的内容,在spp_net下生成lmdb格式的图像信息。
EXAMPLE=examples/spp_net
DATA=examples/spp_net/
TOOLS=build/tools
TRAIN_DATA_ROOT=examples/spp_net/
VAL_DATA_ROOT=examples/spp_net/
此外,我把图片的大小改成了224*224
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=224
RESIZE_WIDTH=224
4.没有去做均值,直接构建spp_solver.prototxt和Zeiler_spp_scale224.prototxt
spp_solver.prototxt中设置
solver_mode: CPU
Zeiler_spp_scale224.prototxt将卷积第五层之后的池化改为spp池化,根据caffe.proto中的定义来改
layer {
name: "pool5_spp"
type: "SPP"
bottom: "conv5"
top: "pool5_spp"
spp_param{
pyramid_height:3
pool: MAX
}
}
5.把下面的命令写到spp_train_caffenet.sh中或直接运行:
/root/deep/gjj/caffe-master/build/tools/caffe train --solver=spp_solver.prototxt
相关文章推荐
- VMware中三种网络连接的区别
- rp_filter导致的网络异常
- 三层神经网络简单实现(Python版)
- 301、404、200、304等HTTP状态
- ArcGIS教程:地理处理服务示例(河流网络)(一)
- 1475 m进制转十进制——http://codevs.cn/problem/1475/
- TCP/IP协议原理
- 如何使用okhttp访问百度三方API-频道新闻API_易源
- 如何做网络流量监控
- TCP连接中TIME_WAIT连接过多
- TCP和UDP的区别
- Jquery ajax 请求容易出现的问题http415,http400
- socat:通过网络控制串口设备案例分析
- 1474 十进制转m进制——http://codevs.cn/problem/1474/
- java Socket编程初探_TCP
- HTTP/1.1
- windows中mac虚拟机网络连接
- HttpUtils
- HttpServletResponse对象
- 全栈工程师眼中的HTTP