单通道灰度图片fine-tune训练网络与caffe批量分类测试

本文介绍了如何使用Caffe对单通道灰度图像进行finetune训练网络,包括转换imdb灰度图数据、修改ResNet_50_deploy.prototxt、将mean.binaryproto转为mean.npy文件以及批量测试灰度图的方法。详细步骤和参考链接已给出。
摘要由CSDN通过智能技术生成

1. 转imdb灰度图数据

一定要加上--gray,否则训练时报如下错误:

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    --gray \
    $TRAIN_DATA_ROOT \
    $DATA/train.txt \
    $EXAMPLE/train_lmdb

echo "Creating val lmdb..."

GLOG_logtostderr=1 $TOOLS/convert_imageset \
    --resize_height=$RESIZE_HEIGHT \
    --resize_width=$RESIZE_WIDTH \
    --shuffle \
    --gray \
    $VAL_DATA_ROOT \
    $DATA/val.txt \
    $EXAMPLE/val_lmdb

2. fine-tune训练网络

在上一步生成lmdb的时候有一个参数是--gray,这样生成的lmdb就是单通道了,然后就是需要修改一下第一个卷基层的名字,这一层会被随机初始化,通过finetune的方式进行学习

layer {
    bottom: "data"
    top: "conv1"
    name: "myconv1" #修改该层名字
    type: "Convolution"
    convolution_param {
        num_output: 64
        kernel_size: 7
        pad: 3
        stride: 2
        weight_filler {
            type: "msra"
        }
    }
}

3.更改ResNet_50_deploy.prototxt输入数据为单通道

name: "ResNet-50"
input: "data"
input_dim: 1
input_dim: 1
input_dim: 224
input_dim: 896

(1,1,224,896)分别对应一张图片,单通道灰度图,图像高度和图像宽度

4.mean.binaryproto转换为mean.npy文件

#!/usr/bin/env python
import numpy as np
import sys
import caff
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值