python用训练好的model分类

原创 2016年05月31日 12:05:27
#coding=utf-8
#加载必要的库
import numpy as np
import sys,os
#import caffe
#设置当前目录
caffe_root = '/mnt/caffe/' 
sys.path.insert(0, caffe_root + 'python')
import caffe
os.chdir(caffe_root)

net_file=caffe_root + 'models/bvlc_reference_caffenet/deploy.prototxt'
caffe_model=caffe_root + 'data/ilsvrc12/bvlc_reference_caffenet.caffemodel'
mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy'

net = caffe.Net(net_file,caffe_model,caffe.TEST)
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
transformer.set_mean('data', np.load(mean_file).mean(1).mean(1))
transformer.set_raw_scale('data', 255) 
transformer.set_channel_swap('data', (2,1,0))

im=caffe.io.load_image(caffe_root+'examples/images/cat.jpg')
net.blobs['data'].data[...] = transformer.preprocess('data',im)
out = net.forward()


imagenet_labels_filename = caffe_root + 'data/ilsvrc12/synset_words.txt'
labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\t')

top_k = net.blobs['prob'].data[0].flatten().argsort()[-1:-6:-1]
for i in np.arange(top_k.size):
    print top_k[i], labels[top_k[i]]


结果输出排名前五的图像概率。如图~

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用mxnet的预训练模型(pretrained model)分类与特征提取

本人以前是使用tensorflow,但是tensorflow的预训练不太给力。虽然现在有tf-slim感觉还是太麻烦,网上说mxnet好的有点多,所以就看了下mxnet。只能说文档和接口都太不友好了,...

matlab中libsvm训练的svm分类器model保存/读写文件接口

最近一直在用matlab和libsvm,发现libsvm库用起来还是很方便的,就是没有模型直接保存到文件和读取模型的matlab接口(C++的接口有)。由于有会用的Opencv等C/C++库,所以数据...

勉强算升2级吧----用mnist训练好的model对自己手写的数字进行分类识别

这个命题感觉接近《21天实战caffe》这本书里第6天的课后作业,但又有一点区别。小新是打算将其分类识别,这样可以更直观的看出LeNet-5对于数字识别的效果。现在来记录一下这个过程。       ...

DeepLearning(基于caffe)实战项目(9)--Python测试训练好的model

之前曾用Matlab测试训练好的model(详细见:http://blog.csdn.net/sihailongwang/article/details/72700482),现在打算用Python测试...

基于Attention Model的Aspect level文本情感分类---用Python+Keras实现

1、关于aspect level的情感分析给定一个句子和句子中出现的某个aspect,aspect-level 情感分析的目标是分析出这个句子在给定aspect上的情感倾向。Aspect level的...

python+openCV利用cascade分类器训练实现实时视频车辆检测与车牌检测(一)

研究生期间要做一个用行车记录仪抓拍车辆违章的项目,车辆检测算法是其中的一个组成部分,我选择的实现方式是用opencv来实现,废话不多说,先从动机开始说。        1.为什么处理视频选择的是检测而...

caffe+python 使用训练好的VGG16模型 对 单张图片进行分类,输出置信度

网上看了一堆都是图片转lmdb格式,然后测试总的准确率,我想测试每张图片的top1,top2以及对应置信度是多少,摸索了一下午+一晚上终于搞定,期间遇到不少坑!!!同时感谢实验室博士师兄一块帮我找bu...

Caffe windows下入门级别的从编译到训练然后到分类(用python接口)资源下载(一)

环境搭建废话就不多说了,我们直接开始正题。如题我们需要python接口做很多事情所以首先需要安装python的环境。 环境资源下载直接安装python2.7的话就需要额外安装很多的依赖库,而且在安装的...

caffe学习(六):使用python调用训练好的模型来分类(Ubuntu)

在caffe的学习过程中,我发现我需要一个模板的程序来方便我测试训练的模型。我在上一篇博客中(caffe学习(五):cifar-10数据集训练及测试(Ubuntu) ),最后测试训练好的模型时是修改c...

Caffe windows下入门级别的从编译到训练然后到分类(用python接口)测试自己的图片数据(四)

前言前面我们已经训练好了模型这时候模型文件是这样的: 我这里演示的所以设置的迭代次数不多的。测试自己的数据转换均值文件(将二进制的均值文件转换为npy这里要使用的均值文件): im...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)