フィルターの視覚化と分類の例の指示に従って、fc6
事前トレーニング済みモデル (bvlc 参照モデル) からフォルダー内の複数の異なる画像への (完全に接続されたレイヤー6) 応答を取得しますが、すべての画像に対して同じベクトルを取得します。使用したコードは次のとおりです。
import caffe
caffe.set_mode_cpu()
net = caffe.Classifier(MODEL_FILE, PRETRAINED,
mean=np.load(caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy').mean(1).mean(1),
channel_swap=(2,1,0),
raw_scale=255,
image_dims=(256, 256))
filenames = next(os.walk(path))[2]
fc6Respose=[]
for i in range(0,len(filenames)):
input_image = caffe.io.load_image(path+filenames[i])
scores = net.predict([input_image])
feat = net.blobs['fc6'].data[4]
fc6Respose.append(feat)
PS: このデータを後で使用できるファイル (txt や csv など) に保存し、Python を使用せずに読み取って開くことができる簡単な方法はありますか?