caffe的python接口示例

xiaoxiao2025-03-07  8

import caffe #导入caffe的python接口 caffe.set_mode_gpu() #设置成gpu模式或者设置成cpu模式 caffe.set_mode_cpu() net = caffe.Classifier( model_file='deploy prototxt文件路径', pretrained_file='生成的二进制caffemodel模型的路径', mean=np.load('均值文件的路径'), raw_scale=255 #若使用的原始图像值在0-255,则保留该参数 ) #至此,初始化caffe的分类器模型,保存到变量 nettransformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) # caffe.io.Transformer 是用于预处理的类。事先填写进行预处理的要求。 transformer.set_transpose('data', (2,0,1)) #将 高x宽x通道,转化为,通道x高x宽的格式 img=caffe.io.load_image('图片路径') #读取图像 newImg=transformer.preprocess('data',img ) #设置data层的数据,这里以单张图像为例。将读取的图像传入,获得按之前设置的预处理方式处理好的新图像(通道x高x宽)。 net.blobs['data'].reshape(图像数,原来训练时定义的通道数,训练时图像的高,训练时图像的宽) # net.blobs['data'].data[...] = newImg #让网络模型的数据层获取预处理好的图像,要传入多张图像,参考numpy的教程,将图像堆叠成多维矩阵(图像数x通道x高x宽)。 out = net.forward() #让数据通过整个训练好的模型,前向传播 filters = net.params['层的名称,如文件中定义好的conv1'][0].data #获取指定层的filters feat = net.blobs['conv1'].data #获取conv1层的特征图谱 prediction=out['loss'].argmax() #直接得到模型输出的最终结果 --------------------- 作者:godissleeping 来源: 原文:https://blog.csdn.net/godissleeping/article/details/50475952 版权声明:本文为博主原创文章,转载请附上博文链接!

 

转载请注明原文地址: https://www.6miu.com/read-5025697.html

最新回复(0)