Caffe學(xué)習(xí)記錄04-可視化輸出

序言

? 大概這部分的內(nèi)容只是為了更好的展示吧厢漩,這部分也是自己的畢業(yè)設(shè)計的內(nèi)容之一。整體選用的方法就是用IPython結(jié)合Caffe給的接口進(jìn)行可視化輸出本股。沒有特別難懂的部分蝗罗。唯一的難點在于它的很多教程版本老夹纫,有些函數(shù)不適用于新的版本。這里給出的方法是自己實際測試過的崔挖。

正文

? 相信看這個的文章的人贸街,可能和我一樣是新手,而且希望直白一點狸相,如果能直接用再加點說明就最好薛匪,我這里就用這種方式吧。

01脓鹃、Ipython的安裝

sudo apt-get install ipython        #大概傻子都會

02逸尖、運(yùn)行

sudo ipython notebook               #一定要加sudo,要不然有可能你的硬件用不了

03瘸右、內(nèi)容

? 下面的代碼有點長娇跟,所以說明就寫在前面吧。下面的代碼每一個分隔你就寫在一個In[]里面太颤。然后輸出的時候是一個In[]一個In[]輸出的苞俘。下面使用transformer部分是和老版本的可視化輸出不一樣的地方。至于路徑的問題龄章,自己看著改就好了吃谣,實際作為輸出部分大概直接就能看懂乞封。前期準(zhǔn)備部分,大體都為處理圖像的步驟基协。細(xì)節(jié)內(nèi)容參考這里。老版本而已菇用,但是講的很細(xì)澜驮。里面的前期部分大部分是用他的,小部分不能用的部分是參考了其他博客惋鸥,但是整體做的事情沒有變化杂穷。

import numpy as np
import matplotlib.pyplot as plt
caffe_root = '/home/demo/caffe/'
import sys
sys.path.insert(0,caffe_root + 'python')
import caffe
plt.rcParams['figure.figsize'] = (10,10)
plt.rcParams["image.interpolation"]='nearest'
plt.rcParams['image.cmap']='gray'
caffe.set_mode_gpu()
net = caffe.Classifier(caffe_root + 'MyCaffe/MyWorks/Test/Caffedeploy.prototxt', caffe_root + 'Caffenet_train_iter_5000.caffemodel',caffe.TEST)
mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy'
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformer.set_transpose('data', (2,0,1))
transformer.set_mean('data', np.load(mean_file).mean(1).mean(1))
transformer.set_raw_scale('data', 255) 
transformer.set_channel_swap('data', (2,1,0))
im=caffe.io.load_image(caffe_root+'data/FINALPaper/corel1000/image_0008.jpg')
net.blobs['data'].data[...] = transformer.preprocess('data',im)
out = net.forward()
[(k, v.data.shape) for k, v in net.blobs.items()]
[(k, v[0].data.shape) for k, v in net.params.items()]
def showimage(im):
    if im.ndim == 3:
        m = im[:,:,::-1]
    plt.imshow(im)
def showimage(im):
    if im.ndim == 3:
        m = im[:,:,::-1]
    plt.imshow(im)
image = net.blobs['data'].data[4].copy()
image -= image.min()
image /= image.max()
showimage(image.transpose(1, 2, 0))
#See the Pic
plt.show()
filters = net.params['conv1'][0].data
vis_square(filters.transpose(0,2,3,1))
plt.show()
feat = net.blobs['conv1'].data[4, :96]
vis_square(feat, padval=1)
plt.show()
filters = net.params['conv2'][0].data
vis_square(filters[:48].reshape(48**2, 5, 5))
plt.show()
feat = net.blobs['conv2'].data[4]
vis_square(feat, padval=0.5)
plt.show()
feat = net.blobs['conv3'].data[4]
vis_square(feat, padval=0.5)
plt.show()
feat = net.blobs['conv4'].data[4]
vis_square(feat, padval=0.5)
plt.show()
feat = net.blobs['conv5'].data[4]
vis_square(feat, padval=0.5)
plt.show()
feat = net.blobs['pool5'].data[4]
vis_square(feat, padval=0.5)
plt.show()
feat = net.blobs['fc6'].data[4]
plt.subplot(2, 1, 1)
plt.plot(feat.flat)
plt.subplot(2, 1, 2)
_ = plt.hist(feat.flat[feat.flat > 0], bins=100)
plt.show()
feat = net.blobs['fc7'].data[4]
plt.subplot(2, 1, 1)
plt.plot(feat.flat)
plt.subplot(2, 1, 2)
_ = plt.hist(feat.flat[feat.flat > 0], bins=100)
plt.show()
feat = net.blobs['fc8'].data[4]
plt.subplot(2, 1, 1)
plt.plot(feat.flat)
plt.subplot(2, 1, 2)
_ = plt.hist(feat.flat[feat.flat > 0], bins=100)
plt.show()
feat = net.blobs['prob'].data[4]
plt.subplot(2, 1, 1)
plt.plot(feat.flat)
plt.plot(feat.flat)
plt.show()

結(jié)束

? 至此自己的大學(xué)生活就結(jié)束了,說實話卦绣,這次考研失敗對自己的影響蠻大的耐量。接下來還會再來一年,非常不愿意的和女票異地一陣子滤港。大概這年完了以后這次畢業(yè)設(shè)計做的事情會忘的差不多廊蜒,就留一個檔案,這樣子自己能更加快速的撿起來溅漾,也省去了查資料的浪費(fèi)的時間山叮。

? 這篇文檔寫完大概就真正標(biāo)志著自己的大學(xué)生活結(jié)束了吧,畢業(yè)論文也是優(yōu)秀添履,也算是較為完滿的結(jié)束屁倔。祝自己二戰(zhàn)順利!

創(chuàng)建時間:2017/6/10 畢業(yè)晚會第二天
最后真的用上了暮胧,復(fù)試的時候用這個檔復(fù)習(xí)了不少忘掉的東西锐借,不過也一異地就被前任分手了hhh
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市往衷,隨后出現(xiàn)的幾起案子钞翔,更是在濱河造成了極大的恐慌,老刑警劉巖席舍,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗅战,死亡現(xiàn)場離奇詭異,居然都是意外死亡俺亮,警方通過查閱死者的電腦和手機(jī)驮捍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脚曾,“玉大人东且,你說我怎么就攤上這事”炯ィ” “怎么了珊泳?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵鲁冯,是天一觀的道長。 經(jīng)常有香客問我色查,道長薯演,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任秧了,我火速辦了婚禮跨扮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘验毡。我一直安慰自己衡创,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布晶通。 她就那樣靜靜地躺著璃氢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狮辽。 梳的紋絲不亂的頭發(fā)上一也,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機(jī)與錄音喉脖,去河邊找鬼塘秦。 笑死,一個胖子當(dāng)著我的面吹牛动看,可吹牛的內(nèi)容都是我干的尊剔。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼菱皆,長吁一口氣:“原來是場噩夢啊……” “哼须误!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仇轻,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤京痢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后篷店,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祭椰,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年疲陕,在試婚紗的時候發(fā)現(xiàn)自己被綠了方淤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹄殃,死狀恐怖携茂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诅岩,我是刑警寧澤讳苦,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布带膜,位于F島的核電站,受9級特大地震影響鸳谜,放射性物質(zhì)發(fā)生泄漏膝藕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一咐扭、第九天 我趴在偏房一處隱蔽的房頂上張望芭挽。 院中可真熱鬧,春花似錦草描、人聲如沸览绿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妻导,卻和暖如春逛绵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倔韭。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工术浪, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寿酌。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓胰苏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親醇疼。 傳聞我的和親對象是個殘疾皇子硕并,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,848評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)秧荆,斷路器倔毙,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • (這是很早之前寫的但內(nèi)容沒有太過時,發(fā)到這邊補(bǔ)全一下...)面向初學(xué)者介紹Python相關(guān)的一些工具乙濒,以及可能遇到...
    jagttt閱讀 67,268評論 3 44
  • SDWebImage底層實現(xiàn)有沙盒緩存機(jī)制陕赃,主要由三塊組成 1、內(nèi)存圖片緩存 2颁股、內(nèi)存操作緩存 3么库、磁盤沙盒緩存 ...
    李sir35閱讀 1,627評論 1 7