import sys
#新增caffe下的python資料夾的路徑
import caffe
import numpy as np
import os
#使用caffemodel進行訓練
weights = 'googlenet_bn_stepsize_6400_iter_1200000.caffemodel'
caffe.set_device(0) #選擇0號gpu
caffe.set_mode_gpu() #使用gpu模式
solver = caffe.sgdsolver('solver.prototxt') #載入solver檔案
solver.net.copy_from(weights) #載入caffemodel
solver.solve() #開始執行
#使用solverstate繼續之前的訓練
s = "googlenet_bn_stepsize_6400_iter_1200000.solverstate"
caffe.set_device(0) #選擇0號gpu
caffe.set_mode_gpu() #使用gpu模式
solver = caffe.sgdsolver('solver.prototxt')#載入solver檔案
solver.restore(s) #載入solverstate
solver.solve() #開始執行
#這裡是將特徵寫入txt,寫入其他檔案(如npy等)方法類似
import sys
#新增caffe下的python資料夾的路徑
import caffe
import os
import numpy as np
deploy = 'train_val.prototxt' #cnn配置檔案
caffe_model = 'googlenet_bn_stepsize_6400_iter_1200000.caffemodel' #權重檔案
caffe.set_device(0) #選擇0號gpu
caffe.set_mode_gpu() #使用gpu模式
net = caffe.net(deploy,caffe_model,caffe.test) #初始化網路,選取test模式,所以prototxt的輸入層
#開啟乙個文字檔案
file_name = 'fea.txt'
output = open(file_name,'w')
num = 100 #需要提取特徵的的數量,這裡是因為我在prototxt配置檔案裡面將batch size設定為1, 所以num就是輸入層的list中的數量
while num:
print num
num = num - 1
net.forward() #網路前傳一次,後傳類似
param = net.params['conv1'][0].data #獲取一層的權重
fea = net.blobs['pool0'].data #獲取一層的資料
print np.shape(fea) #輸出資料的形狀,這裡是乙個pooling層,所以應該是4維的
#將特徵連成乙個字串,寫入文字檔案
str_fea = ''
for x in xrange(len(fea[0])):
str_fea = str_fea + str(fea[0][x][0][0]) +' '
str_fea = str_fea + '\n'
output.write(str_fea)
output.close()
deploy中資料層:
im -= mean #減去每個通道的均值
net.blobs['data'].data[...] = im #將輸入到網路
net.forward() #完成一次前傳
caffe的python介面 持續更新
初始化模型 root home caffe master deploy root examples mnist deply.prototxt deploy位置 caffe model root examples mnist lenet iter 5000.caffemodel 模型位置 net ca...
caffe的python介面使用筆記
網路初始化 model def d caffe caffe master models bvlc reference caffenet deploy.prototxt model pretrained d caffe caffe master models bvlc reference caffen...
CAFFE的matlab介面測試
配置好caffe 執行所需要的環境變數,如何配置參見 下面參考 記錄如何通過 caffe 帶的demo 給出乙個測試例子。在 matlab中開啟classification demo.m caffe matlab demo 自己在該目錄下編寫乙個test.m test.m為stu zhang art...