<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
使用python介面來執行caffe程式,主要的原因是python非常容易視覺化。所以不推薦大家在命令列下面執行python程式。如果非要在命令列下面執行,還不如直接用 c++算了。
推薦使用jupyter notebook,spyder等工具來執行python程式碼,這樣才和它的視覺化完美結合起來。
因為我是用anaconda來安裝一系列python第三方庫的,所以我使用的是spyder,與matlab介面類似的一款編輯器,在執行過程中,可以檢視各變數的值,便於理解,如下圖:
只要安裝了anaconda,執行方式也非常方便,直接在終端輸入spyder命令就可以了。
在caffe的訓練過程中,我們如果想知道某個階段的loss值和accuracy值,並用圖表畫出來,用python介面就對了。
# -*- coding: utf-8 -*- """ Created on Tue Jul 19 16:22:22 2016 @author: root """ import matplotlib.pyplot as plt import caffe caffe.set_device(0) caffe.set_mode_gpu() # 使用SGDSolver,即隨機梯度下降演演算法 solver = caffe.SGDSolver('/home/xxx/mnist/solver.prototxt') # 等價於solver檔案中的max_iter,即最大解算次數 niter = 9380 # 每隔100次收集一次資料 display= 100 # 每次測試進行100次解算,10000/100 test_iter = 100 # 每500次訓練進行一次測試(100次解算),60000/64 test_interval =938 #初始化 train_loss = zeros(ceil(niter * 1.0 / display)) test_loss = zeros(ceil(niter * 1.0 / test_interval)) test_acc = zeros(ceil(niter * 1.0 / test_interval)) # iteration 0,不計入 solver.step(1) # 輔助變數 _train_loss = 0; _test_loss = 0; _accuracy = 0 # 進行解算 for it in range(niter): # 進行一次解算 solver.step(1) # 每迭代一次,訓練batch_size張圖片 _train_loss += solver.net.blobs['SoftmaxWithLoss1'].data if it % display == 0: # 計算平均train loss train_loss[it // display] = _train_loss / display _train_loss = 0 if it % test_interval == 0: for test_it in range(test_iter): # 進行一次測試 solver.test_nets[0].forward() # 計算test loss _test_loss += solver.test_nets[0].blobs['SoftmaxWithLoss1'].data # 計算test accuracy _accuracy += solver.test_nets[0].blobs['Accuracy1'].data # 計算平均test loss test_loss[it / test_interval] = _test_loss / test_iter # 計算平均test accuracy test_acc[it / test_interval] = _accuracy / test_iter _test_loss = 0 _accuracy = 0 # 繪製train loss、test loss和accuracy曲線 print 'nplot the train loss and test accuracyn' _, ax1 = plt.subplots() ax2 = ax1.twinx() # train loss -> 綠色 ax1.plot(display * arange(len(train_loss)), train_loss, 'g') # test loss -> 黃色 ax1.plot(test_interval * arange(len(test_loss)), test_loss, 'y') # test accuracy -> 紅色 ax2.plot(test_interval * arange(len(test_acc)), test_acc, 'r') ax1.set_xlabel('iteration') ax1.set_ylabel('loss') ax2.set_ylabel('accuracy') plt.show()
最後生成的圖表在上圖中已經顯示出來了。
以上就是caffe的python介面繪製loss和accuracy曲線的詳細內容,更多關於caffe python繪製loss accuracy的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45