Caffe——绘制loss和accuracy曲线
来源:互联网 发布:mac air sd卡 windows 编辑:程序博客网 时间:2024/06/11 23:11
这里我们在ipython notebook中绘制曲线
#加载必要的库import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport sys,os,caffe#设置当前目录caffe_root = '/home/bnu/caffe/' sys.path.insert(0, caffe_root + 'python')os.chdir(caffe_root)
设置求解其,和C++/caffe一样,需要一个solver配置文件
# set the solver prototxtcaffe.set_device(0)caffe.set_mode_gpu()solver = caffe.SGDSolver('examples/cifar10/cifar10_quick_solver.prototxt')
如果不需要绘制曲线,只需要训练出一个caffemodel,直接调用solver.solve()就可以了。如果要绘制曲线,就需要把迭代过程中的值保存下来,因此不能直接调用solver.solve(),需要迭代。在迭代过程中,每迭代200次测试一次。
%%timeniter =4000test_interval = 200train_loss = np.zeros(niter)test_acc = np.zeros(int(np.ceil(niter / test_interval)))# the main solver loopfor 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
Iteration 0 testing… accuracy: 0.10000000149
Iteration 200 testing… accuracy: 0.419999986887
Iteration 400 testing… accuracy: 0.479999989271
Iteration 600 testing… accuracy: 0.540000021458
Iteration 800 testing… accuracy: 0.620000004768
Iteration 1000 testing… accuracy: 0.629999995232
Iteration 1200 testing… accuracy: 0.649999976158
Iteration 1400 testing… accuracy: 0.660000026226
Iteration 1600 testing… accuracy: 0.660000026226
Iteration 1800 testing… accuracy: 0.670000016689
Iteration 2000 testing… accuracy: 0.709999978542
Iteration 2200 testing… accuracy: 0.699999988079
Iteration 2400 testing… accuracy: 0.75
Iteration 2600 testing… accuracy: 0.740000009537
Iteration 2800 testing… accuracy: 0.769999980927
Iteration 3000 testing… accuracy: 0.75
Iteration 3200 testing… accuracy: 0.699999988079
Iteration 3400 testing… accuracy: 0.740000009537
Iteration 3600 testing… accuracy: 0.72000002861
Iteration 3800 testing… accuracy: 0.769999980927
CPU times: user 41.7 s, sys: 54.2 s, total: 1min 35s
Wall time: 1min 18s
绘制train过程中的loss曲线,和测试过程中的accuracy曲线
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')
[ 0.1 0.41999999 0.47999999 0.54000002 0.62 0.63
0.64999998 0.66000003 0.66000003 0.67000002 0.70999998 0.69999999
0.75 0.74000001 0.76999998 0.75 0.69999999 0.74000001
0.72000003 0.76999998]
- Caffe——绘制loss和accuracy曲线
- caffe 绘制accuracy和loss曲线
- caffe绘制loss和accuracy曲线
- caffe 绘制loss/ accuracy曲线
- caffe绘制loss,accuracy曲线
- Caffe——Python接口学习:绘制loss和accuracy曲线
- 绘制loss和accuracy曲线
- Caffe学习系列(19): 绘制loss和accuracy曲线
- Caffe学习系列(19): 绘制loss和accuracy曲线
- caffe绘制训练过程的loss和accuracy曲线
- caffe绘制训练过程的loss和accuracy曲线
- Caffe学习系列: 绘制loss和accuracy曲线
- caffe绘制训练过程的loss和accuracy曲线
- caffe绘制训练过程的loss和accuracy曲线
- Caffe的可视化训练:绘制loss和accuracy曲线
- caffe绘制训练过程的loss和accuracy曲线
- Caffe学习系列(19): 绘制loss和accuracy曲线
- caffe的python接口:绘制loss和accuracy曲线
- Zend Studio + XDebug 断点无效的问题
- Spring定时任务
- mysql安装出现error 1045
- Android Studio Javadoc配置
- 如何从oracle官网下载jdk历史版本
- Caffe——绘制loss和accuracy曲线
- android Some file crunching failed问题
- 利用jquery实现文字上下滚动
- Spring 4.*和CXF3.*整合
- 上海勤和响应网络安全法!IS语音严格把控直播内容
- Oracle 查看版本信息
- redis学习系列之——安装篇
- Java 操作字符串
- Drawable Animation