使用卷积神经网络进行图片分类 4

本文介绍了如何利用训练好的卷积神经网络模型和Caffe的Python API开发图片分类程序,包括修改deploy.prototxt、转换平均值文件以及编写分类代码。实验详细阐述了每个步骤,适合初学者实践。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

利用训练好的模型开发图片分类程序

一、实验介绍

1.1 实验内容

snapshot目录下已经有我们训练好的模型的参数,为了利用我们的卷积神经网络模型和这些参数去对图像进行分类,我们这次实验就来编写代码实现一个图片分类程序。

1.2 实验知识点

  • caffe python api

1.3 实验环境

  • python 2.7
  • opencv 2.4.11
  • caffe 1.0.0

二、实验步骤

2.1 准备deploy.prototxt

在第二次实验中,我们编写了network.prototxt用于进行模型的训练,当模型训练完成需要使用模型进行实际的分类时,就不能再继续用network.prototxt来定义我们的网络结构了。因为此时我们不需要区分TRAINTEST这两种phase, 同时我们模型的需要输出对每种类别的概率预测,而不是损失函数值,并且我们也不需要准确率层了。  

但是我们的网络结构是不会变的,所以我们可以直接在network.prototxt的基础上进行修改。首先我们需要去掉一个数据层,并且将include{phase:TRAIN/TEST}参数删掉,然后我们需要删掉Accuracy层和SoftmaxWithLoss层,最后需要添加一个概率预测层prob,其定义如下:

layer{    name: "prob"    type: "Softmax"    bottom: "ip2"    bottom: "label"    top: "prob"}

我们之前说过,通常都会将Softmax层作为模型对概率的预测输出,所以这里的type参数为Softmax。  

完整的deploy.prototxt文件可以通过以下命令获取:

wget http://labfile.oss.aliyuncs.com/courses/820/deploy.tar.gztar zxvf deploy.tar.gz

注意里面还包含了我们接下来会介绍的classifier.py文件

2.2 转换平均值文件

在前面获取训练数据时,我们使用compute_image_mean命令计算出了平均值文件train.binaryproto, 在我们将要实现的python程序中,也必须对图片减去均值,为了让python能够读取平均值文件ÿ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值