我正在尝试使用 python 脚本使用预先训练的网络来提取特征值。这是我的脚本:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import caffe
caffe.set_device(0)
caffe.set_mode_gpu()
net=caffe.Net('blobs-Test-Eval.prototxt', 'best_snapshot_iter_4553.caffemodel', caffe.TEST)
im=np.array(Image.open('Test/D_4051.png'))
im_input = im[np.newaxis, np.newaxis, :, :]
net.blobs['data'].reshape(*im_input.shape)
net.blobs['data'].data[...]=im_input
out=net.forward()
print out['fc8']
现在图像 D_4051 应该返回一个介于 0.002 - 0.006 之间的分数,但是对于我的测试集中的任何图像,python 脚本都会返回 [[ 2.99469399]]。很明显我的代码没有做我想做的事,但是从我找到的文档和示例中,我不确定出了什么问题。
谢谢!