0
我正在嘗試使用python腳本使用預先訓練的網絡來提取功能值。這裏是我的腳本:pyCaffe不會給出與命令行界面相同的結果
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]從我的測試設置的任何圖像。很明顯,我的代碼沒有做我想做的事情,但從我發現的文檔和示例中,我不確定哪裏出了問題。
謝謝!
感謝您的回覆。我現在運行它的圖像實際上是其中一個測試圖像,它具有從命令行界面成功提取的fc8功能。我只是試圖在python 1圖像中一次做同樣的事情。從我所能告訴的所有預處理都在第一層的.prototxt文件中進行處理: – theShmoo
圖層名稱:「data」 類型:「ImageData」 top:「data」 top:「標籤」 包括{ 相:TEST } transform_param { 鏡:假 crop_size:96 mean_file: 「trainingMean.binary」 } image_data_param { 源: 「Test.txt的」 \t的batch_size:1 } } – theShmoo