唐宇迪深度學習框架Caffe系列 10

2021-09-03 05:13:59 字數 1629 閱讀 4049

繪製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...