二、訓(xùn)練完以后的記錄去哪里找


文章代碼來源:《deep learning on keras》,非常好的一本書,大家如果英語好,推薦直接閱讀該書,如果時間不夠,可以看看此系列文章,文章為我自己翻譯的內(nèi)容加上自己的一些思考,水平有限,多有不足,請多指正,翻譯版權(quán)所有,若有轉(zhuǎn)載,請先聯(lián)系本人。
個人方向為數(shù)值計算,日后會向深度學(xué)習(xí)和計算問題的融合方面靠近,若有相近專業(yè)人士,歡迎聯(lián)系。


系列文章:
一、搭建屬于你的第一個神經(jīng)網(wǎng)絡(luò)
二、訓(xùn)練完的網(wǎng)絡(luò)去哪里找
三、【keras實戰(zhàn)】波士頓房價預(yù)測
四、keras的function API
五、keras callbacks使用
六、機(jī)器學(xué)習(xí)基礎(chǔ)Ⅰ:機(jī)器學(xué)習(xí)的四個標(biāo)簽
七、機(jī)器學(xué)習(xí)基礎(chǔ)Ⅱ:評估機(jī)器學(xué)習(xí)模型
八、機(jī)器學(xué)習(xí)基礎(chǔ)Ⅲ:數(shù)據(jù)預(yù)處理、特征工程和特征學(xué)習(xí)
九、機(jī)器學(xué)習(xí)基礎(chǔ)Ⅳ:過擬合和欠擬合
十、機(jī)器學(xué)習(xí)基礎(chǔ)Ⅴ:機(jī)器學(xué)習(xí)的一般流程十一、計算機(jī)視覺中的深度學(xué)習(xí):卷積神經(jīng)網(wǎng)絡(luò)介紹
十二、計算機(jī)視覺中的深度學(xué)習(xí):從零開始訓(xùn)練卷積網(wǎng)絡(luò)
十三、計算機(jī)視覺中的深度學(xué)習(xí):使用預(yù)訓(xùn)練網(wǎng)絡(luò)
十四、計算機(jī)視覺中的神經(jīng)網(wǎng)絡(luò):可視化卷積網(wǎng)絡(luò)所學(xué)到的東西


之前沒有系統(tǒng)學(xué)習(xí)keras,每次等到程序跑完了,我都會在消息記錄窗口選定后往上狂拖選定,復(fù)制,然后建立txt粘貼,再寫一個re來正則匹配所需數(shù)據(jù)的程序,還覺得自己很機(jī)智,看了keras的具體功能以后,簡直無地自容。
我們在model.fit()訓(xùn)練完以后,其實返回了一個obj,叫做history,保存了訓(xùn)練過程中的所有數(shù)據(jù),接下來通過代碼來講解。

>>> history_dict = history.history
>>> history_dict.keys()
[u'acc', u'loss', u'valacc', u'valloss']

首先將對象里面的history字典存入history_dict,然后查看字典里面的鍵。
接下來試著使用matplotlib來作出之前訓(xùn)練完的數(shù)據(jù)的一些圖像。

import matplotlib.pyplot as plt
acc = history.history['acc']
val_acc = history.history['val_acc']
loss = history.history['loss']
val_loss = history.history['val_loss']
epochs = range(1, len(acc) + 1)
# "bo" is for "blue dot"
plt.plot(epochs, loss, 'bo', label='Training loss')
# b is for "solid blue line"
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

前面幾句很容易理解,從history分別將acc,val_acc,loss,val_loss提取出來,加了val前綴的是每個epoche所得到的模型丟測試集得到的結(jié)果。


image.png
plt.clf() # clear figure
acc_values = history_dict['acc']
val_acc_values = history_dict['val_acc']
plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

也不難理解,此時作出的是損失隨訓(xùn)練epoches的變化


image.png

用已經(jīng)訓(xùn)練好的模型來預(yù)測新的數(shù)據(jù)

>>> model.predict(x_test)
[ 0.98006207]
  [ 0.99758697]
  [ 0.99975556]
  ...,
  [ 0.82167041]
  [ 0.02885115]
  [ 0.65371346]]

返回的值是模型認(rèn)為這次預(yù)測的把握有多大。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今早看了一篇關(guān)于李健的文章,我知道,我也許不必再那么焦慮了,也許我也可以慢慢找到自己! “活著不是和別人比較,不要...
    劉家街83號閱讀 540評論 0 1
  • “臟臟包”,一個聽起來超邋遢的名字,美其名曰的“黑”!對于超喜歡吃巧克力的我,想象著在熾熱的烤箱里巧...
    嵐羞草閱讀 789評論 0 3
  • 一個人做人與處世,一定要有底線思維,堅守原則,遵從內(nèi)心,把握好度。無論是對親人,朋友,還是同事既要真誠相待...
    江湖俠客xy閱讀 2,873評論 0 1

友情鏈接更多精彩內(nèi)容