训练好了model后,可以通过python调用caffe的模型,然后进行模型测试的输出。

本次测试主要依靠的模型是在caffe模型里面自带训练好的结构参数:~/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel,以及结构参数

:~/caffe/models/bvlc_reference_caffenet/deploy.prototxt相结合,用python接口进行调用。

训练的源代码以及相应的注释如下所示:

# -*- coding: UTF-8 -*-

import os

import caffe

import numpy as np

root='/home/zf/caffe/'#指定根目录

deploy=root+'models/bvlc_reference_caffenet/deploy.prototxt'#结构文件

caffe_model=root + 'models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel'

#已经训练好的model

dir =root+'examples/images/'#保存测试图片的集合

filelist=[]

filenames=os.listdir(dir)

for fn in filenames:

fullfilename = os.path.join(dir,fn)

filelist.append(fullfilename)

#filelist.append(fn)

def Test(img):

#加载模型

net = caffe.Net(deploy,caffe_model,caffe.TEST)

# 加载输入和配置预处理

transformer = caffe.io.Transformer({'data':net.blobs['data'].data.shape})

transformer.set_mean('data', np.load('/home/zf/caffe/python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1))

transformer.set_transpose('data', (2,0,1))

transformer.set_channel_swap('data', (2,1,0))

transformer.set_raw_scale('data', 255.0)

#注意可以调节预处理批次的大小

#由于是处理一张图片,所以把原来的10张的批次改为1

net.blobs['data'].reshape(1,3,227,227)

#加载图片到数据层

im = caffe.io.load_image(img)

net.blobs['data'].data[...] = transformer.preprocess('data', im)

#前向计算

out = net.forward()

# 其他可能的形式 : out = net.forward_all(data=np.asarray([transformer.preprocess('data', im)]))

#预测分类

print out['prob'].argmax()

#打印预测标签

labels = np.loadtxt("/home/zf/caffe/data/ilsvrc12/synset_words.txt", str, delimiter='\t')

top_k = net.blobs['prob'].data[0].flatten().argsort()[-1]

print 'the class is:',labels[top_k]

f=file("/home/zhengfeng/caffe/examples/zf/label.txt","a")

f.writelines(img+' '+labels[top_k]+'\n')

labels_filename=root +'data/ilsvrc12/synset_words.txt'

#循环遍历文件夹root+'examples/images/'下的所有图片

for i in range(0,len(filelist)):

img=filelist[i]

Test(img)

ps:主要有以下的文件需要说明

待测试的文件夹里面的图片数据为:

最后的输出结果如下:

以下是本人定义的label.txt文件写入的预测的数据:

如果在编译的时候出现import caffe error的话,说明没有导入caffe

Export PYTHONPATH=$PYTHONPATH:/home/zf/caffe/python,如果还是不行,可能是你的caffe的python接口未编译,cd /home/zf/caffe,然后执行make pycaffe,接着再测试。

以上这篇python接口调用已训练好的caffe模型测试分类方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python caffe 训练自己的模型_python接口调用已训练好的caffe模型测试分类方法相关推荐

  1. python简单例子lof_Python的净值数据接口调用示例分享

    代码描述:基于python的净值数据接口调用代码实例 关联数据:净值数据 接口地址:https://www.juhe.cn/docs/api/id/25 #!/usr/bin/python # -*- ...

  2. python变量类型是动态的_Python 学习 第四篇:动态类型模型

    Python的变量不用声明,赋值之后就可以直接使用,类型是在运行过程中自动确定的,这就是动态类型模型.该模型把变量和对象设计成两个不同的实体,对象是存储数据的地方,对象的类型是由初始值自动决定的,而变 ...

  3. python测试之道电子pdf下载_Python接口自动化测试 PDF 下载

    相关截图: 资料简介: 本书主要介绍如何用Python实现接口自动化测试.全书主要内容包括接口基础.接口手工测试.编程前的准备.用Python处理MySQL数据库.用Python发送HTTP请求.用P ...

  4. python接口测试框架与自动化实战_Python接口自动化从设计到开发,测试框架实战与自动化进阶视频课程...

    Python接口自动化从设计到开发,测试框架实战与自动化进阶视频课程21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,黑盒测试,白 ...

  5. python调用接口查询_基于Python的苹果序列号官网查询接口调用代码实例

    1.[代码][Python]代码 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import ur ...

  6. 苹果手机查看python代码_[代码全屏查看]-基于Python的苹果序列号官网查询接口调用代码实例...

    [1].[代码] [Python]代码 #!/usr/bin/python # -*- coding: utf-8 -*- import json, urllib from urllib import ...

  7. python 图像压缩后前端解压_Python在后台自动解压各种压缩文件的实现方法

    1.需求描述 编写一个 Python 程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os 模块综合应用 glob 模块综合应用 利用 g ...

  8. python中的引用法总结_python模块调用总结

    1.模块的定义 本质上就是.py结尾的python文件,用来从逻辑上组织python代码(变量,函数,类,逻辑),为了实现一个功能. 2.模块的调用方法 首先编写一个模块文件: 1 name='Tao ...

  9. python判断ip能否ping通_Python实现检测服务器是否可以ping通的2种方法

    好想在2014结束前再赶出个10篇博文来,~(>_ python检测服务器是否ping通的2种方法 1.第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百 ...

最新文章

  1. 在Hive中执行DDL之类的SQL语句时遇到的一个问题
  2. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门
  3. DBController心得之一:利用DMO对象对SQL2005数据库进行Backup和restore的操作
  4. Luggage Lock 偏移,bfs,预处理(2021.11.沈阳)
  5. Win10下使用HDFView查看hdf5文件
  6. SAP AET 框架是如何判断一个 SAP CRM UI 能否被扩展
  7. link引入html5,CSS引入方式 | link和@import的区别 — 生僻的前端考点
  8. Discuz网警过滤关键词库
  9. [转载] Java笔试题集锦
  10. 一文搞懂三种工厂模式
  11. matlab用pathy语言,2018 年度编程语言 -- Python
  12. 【数学建模算法汇总】
  13. 计算机成人本科学历,计算机专业成人本科
  14. Drools规则引擎
  15. robocode机器人案例
  16. cad快速选择命令快捷键_CAD快捷键,命令大全
  17. 电子邮件邮箱怎么设置签名?手机邮箱签名设置攻略
  18. 39 What Determines the Kind of Person You Are ?是什么决定了你是哪种内型的人 ?
  19. SteamVR自定义手部抓取姿势
  20. Powershell运行脚本异常:无法加载文件...因为在此系统上禁止运行脚本

热门文章

  1. React的source code init时会自动检测Chrome dev tool的react extension装了没
  2. Marketing Cloud的contact merge机制
  3. SAP OData的CSRF校验开关
  4. Workflow Administration
  5. SAP C4C客户主数据重复检查和清洗实现
  6. echo和pwd获取文件路径的区别对比
  7. 物化视图是否可以exp导出_物化视图导出导入可能导致物化视图日志的失效
  8. java实时汇率的接口_汇率-免费API,收集所有免费的API
  9. 树状数组基础原理与模板
  10. python怎样把两个图画到一起_python实现两张图片拼接为一张图片并保存