繪製loss曲線
安裝matplotlib庫(這個庫需要安裝python-tk)
sudo apt-get install python-tksudo pip install matplotlib
import numpy as np
import matplotlib.pyplot as plt
import sys,os
sys.path.insert(0, caffe_root + 'python')
import caffe
#caffe.set_device(0)
caffe.set_mode_cpu()
niter =1000
test_interval = 200
train_loss = np.zeros(niter)
test_acc = np.zeros(int(np.ceil(niter / test_interval)))
# the main solver loop
for it in range(niter):
solver.step(1) # sgd by caffe
# store the train loss
train_loss[it] = solver.net.blobs['loss'].data
solver.test_nets[0].forward(start='conv1')
if it % test_interval == 0:
acc=solver.test_nets[0].blobs['accuracy'].data
print 'iteration', it, 'testing...','accuracy:',acc
test_acc[it // test_interval] = acc
print test_acc
_, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(np.arange(niter), train_loss)
ax2.plot(test_interval * np.arange(len(test_acc)), test_acc, 'r')
ax1.set_xlabel('iteration')
ax1.set_ylabel('train loss')
ax2.set_ylabel('test accuracy')
plt.show()
如果你使用的是gpu
caffe.set_mode_gpu()
caffe.set_device(0)
這種操作相當於一邊訓練網路,一遍記錄loss值,在網路的最後,繪製loss曲線
藍色的線表示 train loss紅色的線表示 test accuracy
Caffe深度學習計算框架
1 caffe set mode caffe gpu 1 name dummy net 2 3 layers 45 layers 67 layers 8 layers 1 name conv1 2 type convolution 3 bottom data 4 top conv1 5 convol...
深度學習系列3 框架caffe
caffe是賈揚清大神開發的一套系統,caffe2是重構後的版本。其基本結構為 import numpy as np import time from caffe2.python import core,workspace from caffe2.proto import caffe2 pb2 x ...
深度學習框架caffe訓練過程
1.資料準備 2.生成訓練資料和測試資料的label,生成 3.生成訓練資料和測試資料對應的lmdb build tools convert imageset shuffle true backend lmdb data cigarettetrain20170413 data cigarettetr...