您的位置:首页 > Web前端

微软caffe windows cpu用自己数据 训练和测试AlexNet

2017-03-05 10:54 260 查看
第一、  制作自己的数据集



分为train和val两个文件夹,train下面有每个类别的一个单独的文件夹,文件夹里面放着这个类别的图片。

第二、  制作train.txt和val.txt(标签从0开始)





第三、  根据convert_imagesets.exe把数据转换成LMDB或者LEVELDB格式



第四、  生成训练图片的均值文件



第五、  复制train_val.prototxt文件为train_val_myself.prototxt修改



修改数据来源和batch_size,并保证backend的正确性,注意这里必须大写:backend:LMDB backend: LEVELDB。我使用的训练数据为100张图片,测试集是20张图片,所以我训练阶段的batch size是20,测试阶段batch size 是1.



修改输出类别数目num_output,并且重新命名最后一个FC Layer和Loss Layer,否则后来的权重对应不上,出现错误。同时最后一个FC Layer的weights 是随机给的,所以调到这一层的学习倍率,这里扩大十倍.

第六、  复制solver.prototxt文件为solver_myself.prototxt修改



其实,这里数据集小,迭代几百步就差不多收敛了,可以减少stepsize和max_iter

第七、  配置文件进行训练



第八、  训练结束,进行测试



因为测试的batch size是1,总共的测试集是20,所以这里iterations为20(1*20=20)



第九、  预测图片class

首先,复制deploy.prototxt为deploy_myself.prototxt根据train_val_myself.prototxt进行相应的修改



接着制作一个synset_words.txt



接着准备一张图片准备预测



建立bat文件



结果如下:



最后我们发现模型预测的结果是准确的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息