從Keras開始掌握深度學(xué)習(xí)4通過TensorBoard分析模型_第1頁(yè)
從Keras開始掌握深度學(xué)習(xí)4通過TensorBoard分析模型_第2頁(yè)
從Keras開始掌握深度學(xué)習(xí)4通過TensorBoard分析模型_第3頁(yè)
從Keras開始掌握深度學(xué)習(xí)4通過TensorBoard分析模型_第4頁(yè)
從Keras開始掌握深度學(xué)習(xí)4通過TensorBoard分析模型_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、fromtensorflow.keras.callbacksimportTensorBoard從Keras開始掌握深度學(xué)習(xí)-4通過TensorBoard分析模型TensorBoard是一個(gè)機(jī)器學(xué)習(xí)的可視化工具,能夠有效地展示Tensorflow在運(yùn)行過程中的計(jì)算圖、各種指標(biāo)隨著時(shí)間的變化趨勢(shì)以及訓(xùn)練中使用到的數(shù)據(jù)信息。通過使用TensorBoard,可以將訓(xùn)練過程中評(píng)價(jià)指標(biāo)與訓(xùn)練次數(shù)繪制成折線圖,從而觀察諸如準(zhǔn)確率提高的過程或損失下降的過程。同時(shí),當(dāng)我們更改模型的超參數(shù)(LearningRate等)時(shí)TensorBoard還可以將不同的超參數(shù)對(duì)應(yīng)的折線圖分類,可以更加直觀地觀察超參數(shù)的選取對(duì)模

2、型訓(xùn)練的影響。準(zhǔn)備代碼我們上一講成果地編寫了一個(gè)卷積網(wǎng)絡(luò)的程序,這節(jié)課則需要用到這個(gè)程序。從JupyterNotebook中導(dǎo)出為Python文件的方法很上角的File-DownloadAs-Python即可。jupyterCNNinkerastutorialLastCheckpoint:1天fautosavediFileEditViewInsertCellKernelWidgetsHelpNewNotebookOpen.*1RurCHCodefromtensorflow.keras.callbacksimportTensorBoardfromtensorflow.keras.callback

3、simportTensorBoardickleMaksaCopy.Rename.SaveandCheckpoint旳口rlowastfsoifIdukerasmode1sunpartSequentialLOiflowk已工且r1野已H5:-uiLpo-EtDense,Dropout,Activatio.導(dǎo)出為Python文件由于在運(yùn)行GPU的TensorFlow程序的時(shí)候,無(wú)論模型的規(guī)模,Tensorflow程序總是傾向于占用全部的顯存VRAM。因此最好在程序運(yùn)行之前,通過gpu_options來(lái)指定程序占用的顯存的比例。gpu_options=tf.GPUOptions(per_proces

4、s_gpu_memory_fraction=0.33)sess=tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)|jMKWWWWKWWWWWWWWWKWWWWKWWWWKWWWWKWWWWKWWWWKWKWKJWWKWKWWWWKJKWKWKWKKWKWWKWKXKWWWKWWKW;-;:|:;j建電攜j林黴老攜巒巒電攜巒建電攜5林徐老攜5:超翅電攜邃輸揀粥林徐老攜5:超馥老攜5爲(wèi)?zhàn)ダ侠限薪C粥觀$輸電老老扌域毬電老扌觀老老扌觀就老老$劈燥報(bào)腐綽第淋劈電老老$緡粥去扌觀拼電老扌電老老扌:這里指定的顯存占用比例為0.33,也就是說(shuō)這

5、個(gè)Tensorflow的程序最多將會(huì)占用全部顯存的1/3,而不是占用全部的顯存。這點(diǎn),當(dāng)你在同時(shí)訓(xùn)練多個(gè)模型的時(shí)候極其有用。Keras的TensorBoard回調(diào)函數(shù)(Callback)當(dāng)使用TensorBoard來(lái)可視化訓(xùn)練過程的時(shí)候,給每個(gè)模型起一個(gè)名字會(huì)是十分聰明的做法(因?yàn)門ensorBoard會(huì)將很多模型可視化出來(lái),起名字可以區(qū)分不同的模型)。給模型起名字的方法有很多,為了確保每個(gè)模型都是獨(dú)一無(wú)二的,因此我們?cè)诿總€(gè)模型的名字后面加上時(shí)間作為后綴(用到time包)。model_name=kaggle_cat_dog-cnn-64x2-.format(int(time.time()上述命

6、名的方法是模型的名字-卷積核的大小-時(shí)間,當(dāng)然,你也可以選擇自己的命名方法,只要夠直觀、簡(jiǎn)潔、便于理解就可以。緊接著在程序里面,通過以下的代碼指明log_dir參數(shù):tensorboard=TensorBoard(log_dir=logs/.format(model_name)這樣一來(lái),不同的模型則會(huì)擁有不同的log文件夾。最后,在調(diào)用Keras的model.fit方法中,指明TensorBoard的回調(diào)函數(shù)。注意,同一個(gè)模型可以有很多個(gè)回調(diào)函數(shù),因此callbacks應(yīng)該是一個(gè)列表。model.fit(X,y,batch_size=32,epochs=10,validation_split=

7、0.1,callbacks=tensorboard)至此,萬(wàn)事俱備了。打開控制臺(tái),通過pythonCNNinkerastutorial.py命令來(lái)運(yùn)行我們的卷及網(wǎng)絡(luò)程序吧!程序運(yùn)行完畢之后,在python文件的同級(jí)文件夾下面會(huì)出現(xiàn)一個(gè)logs文件夾,文件夾下面會(huì)有存放我們剛才訓(xùn)練的模型的tfevent文件的目錄。此電腦康地蓮迢(D:)ydevpythonwoirlk*logs、Ikaggle_cat_dog-cnn-64x2-1540543255容和薦改曰明獎(jiǎng)型大小_events.&ut.tfevert5.154&543257.DESKTOP-2S6AI382E8/10/2615:41DESK

8、TDP-S6A.293KBlog文件打開TensorBoard當(dāng)我們多運(yùn)行幾次之后,會(huì)出現(xiàn)不同的存放log文件的目錄。為了可以在TensorBoard中查看這些log文件,我們需要再程序運(yùn)行的主目錄下面打開一個(gè)CMD窗口,通過如下命令打開TensorBoard:tensorboard-logdir=logs/運(yùn)行上述命令之后,會(huì)出現(xiàn)如下提示:TensorBoard1.10.0athttp:/DESKTOP-2S6AI38:6006(PressCTRL+Ctoquit)valjoss和CALMS超IWFHWimacttveC$Osnuaaiadwoadm國(guó)Qlarmwdle*EIndiftn:a

9、callftgTotSd59digmrhnddH-iullFll-erIqgFS-(legJyr知pr曲氐時(shí)札丹羽)aecDOOfiriDrlling|MMarizortalAshHiEPrelativeMLlHiil&祐M4rnp弊IHfillernjrtj153TensorBoard的界面TensorBoard的使用入門通過在搜索框輸入*號(hào)則可以將所有的圖顯示出來(lái)。飛gsmhing|malkrmedregularexpresson)所有的圖可以看到一共有4張圖,acc(準(zhǔn)確率),loss(損失),val_acc(驗(yàn)證集準(zhǔn)確率),val_loss(驗(yàn)證集損失)。在機(jī)器學(xué)習(xí)的程序中,我們的目標(biāo)是讓準(zhǔn)確率盡可能地提高,而損失則盡可能地降低。把鼠標(biāo)放在圖上則可以看到圖上相應(yīng)點(diǎn)的詳細(xì)信息。以驗(yàn)證集損失為例。驗(yàn)證集損失通過分析驗(yàn)證集損失的折線圖可以發(fā)現(xiàn),在第5個(gè)epoch之后,驗(yàn)證集的損失開始上升。此時(shí),如果機(jī)器學(xué)習(xí)的程序繼續(xù)運(yùn)行下去的話,且驗(yàn)證集準(zhǔn)確度還在持續(xù)上升,那么則有可能會(huì)出現(xiàn)過擬合的情況。所以,在我們?cè)u(píng)估模型的時(shí)候,關(guān)注驗(yàn)證集損失不失為很好地一個(gè)方法。讓我們回到卷積網(wǎng)絡(luò)的程序中,對(duì)程序進(jìn)行修改,如修改卷積核的大小,去掉一個(gè)全連接層等。此處我們選擇去掉全連接層,并且修改模型的名字之后重新訓(xùn)練。valjoss和CA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論