python用训练好的model分类

本文介绍了如何使用Caffe深度学习框架对图像进行分类。通过加载预训练的CaffeNet模型,设置平均图像值,对输入图像进行预处理,并运行前向传播得到分类结果。最后输出了预测概率最高的五个类别。
部署运行你感兴趣的模型镜像
#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]]


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

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

1. 导入模型 在使用训练好的分类模型之前,需要首先导入模型。导入模型的方式可以使用Python的pickle模块,该模块可以将模型保存为文件,并在需要时加载模型。 ```python import pickle with open('model.pkl', 'rb') as f: model = pickle.load(f) ``` 2. 加载数据 在使用分类模型进行预测之前,需要先加载待分类的数据。这可以通过读取文件、从数据库中获取数据等方式实现。假设我们已经将待分类的数据存储在一个DataFrame对象中。 ```python import pandas as pd data = pd.read_csv('data.csv') ``` 3. 数据预处理 在使用分类模型进行预测之前,需要对数据进行预处理。这包括数据清洗、特征提取、特征缩放等操作。具体的预处理步骤会根据数据的特征和模型的要求而有所不同。 ```python X = data.drop(columns=['label']) X = preprocess(X) ``` 4. 进行预测 有了模型和待分类的数据,我们就可以使用模型进行预测了。这可以通过调用模型的predict()方法实现。 ```python y_pred = model.predict(X) ``` 5. 分析结果 最后,我们需要对预测结果进行分析。这包括计算准确率、查看混淆矩阵等操作。 ```python from sklearn.metrics import accuracy_score, confusion_matrix y_true = data['label'] acc = accuracy_score(y_true, y_pred) cm = confusion_matrix(y_true, y_pred) ``` 以上就是使用训练好的分类模型的基本流程。具体的实现细节会根据数据和模型的特性而有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值