人工智能方向的項目,和數據可視化是緊密相連的。python
模型訓練過程當中梯度降低過程是什麼樣的?損失函數的走向如何?訓練模型的準確度怎麼變化的?web
清楚這些數據,對咱們模型的優化相當重要。編程
因爲人工智能項目每每伴隨着巨大數據量,用肉眼去逐個數據查看、分析是不顯示的。這時候就須要用到數據可視化和日誌分析報告。微信
TensorFlow自帶的Tensorboard在模型和訓練過程可視化方面作得愈來愈好。可是,也愈來愈臃腫,對於初入人工智能的同窗來講有必定的門檻。機器學習
人工智能方面的項目變得愈來愈規範化,以模型訓練、數據集準備爲例,目前不少大公司已經發布了各自的自動機器學習平臺,讓工程師把更多精力放在優化策略上,而不是在準備數據、數據可視化方面。編輯器
本文,就來給你們介紹一款新型的機器學習可視化IDE,可以讓人工智能研發過程變得更加簡單明瞭。函數
wandb
wandb是Weights & Biases的縮寫,這款工具可以幫助跟蹤你的機器學習項目。它可以自動記錄模型訓練過程當中的超參數和輸出指標,而後可視化和比較結果,並快速與同事共享結果。
工具
經過wandb,可以給你的機器學習項目帶來強大的交互式可視化調試體驗,可以自動化記錄Python腳本中的圖標,而且實時在網頁儀表盤展現它的結果,例如,損失函數、準確率、召回率,它可以讓你在最短的時間內完成機器學習項目可視化圖片的製做。學習
總結而言,wandb有4項核心功能:大數據
-
看板:跟蹤訓練過程,給出可視化結果 -
報告:保存和共享訓練過程當中一些細節、有價值的信息 -
調優:使用超參數調優來優化你訓練的模型 -
工具:數據集和模型版本化
也就是說,wandb並不單純的是一款數據可視化工具。它具備更爲強大的模型和數據版本管理。此外,還能夠對你訓練的模型進行調優。
wandb另一大亮點的就是強大的兼容性,它可以和Jupyter、TensorFlow、Pytorch、Keras、Scikit、fast.ai、LightGBM、XGBoost一塊兒結合使用。
所以,它不只能夠給你帶來時間和精力上的節省,還可以給你的結果帶來質的改變。
舉幾個例子:
驗證數據可視化
wandb會自動選取一部分驗證數據,而後把它展現到面板上。例如,手寫體預測的結果、目標識別的包圍盒。
天然語言
使用自定義圖表可視化基於NLP注意力的模型
這裏只給出2個示例,除了這些,它目前還有更多實用有價值的功能。並且,它還不斷在增長新功能。
使用教程
官方稱wandb爲IDE,可是它更像TensorFlow、Pytorch同樣,是一款高級Python第三方工具包。它的安裝、使用都和Python其餘工具包大同小異。
安裝
wandb的使用須要Python3,安裝很是簡單,直接經過pip
命令便可安裝:
$ pip install wandb
登陸網站
使用wandb須要登陸wandb網站,你能夠建立一個新帳號,也能夠用GitHub或者Google帳號進行登陸。
登陸以後,你會發現它像不少其餘的web版IDE同樣,能夠建立項目,並且每一個項目下都會有各類看板、報告。
API Keys
登陸以後,點擊右上角頭像,進入User Settings,能夠看到有API Keys。這個API Keys主要用於登陸,用於鏈接桌面項目和wandb後臺系統。
回到本身電腦桌面,打開終端,使用API Keys進行登陸:
$ wandb login <YOUR API KEYS>
記得,<YOUR API KEYS>
要替換成你本身的API Keys。
訓練腳本
到此爲止,工具層面的配置已經完成了,你須要的就是準備好你的訓練腳本。
訓練腳本的準備和正常狀況徹底同樣,像導入其餘工具包同樣導入wandb,在wandb能夠定義配置參數、dropout、日誌監控等。
這裏,給一個簡單的示例,寫一個名爲train.py
的腳本:
# Init wandb
import wandb
wandb.init(project="demo")
# Model instantiation code ...
# Log metrics with wandb
for _ in range(num_epochs):
train_model()
loss = calulate_loss()
wandb.log({"Loss": loss})
# Save model to wandb
np.save("weights", weights)
wandb.save("weights.npy")
能夠發現,它和Tensorboard的使用有一些相通之處,直接能夠在代碼中定義初始化、上傳日誌、保持模型。
開始訓練
工具配置完了,訓練腳本也準備完了,下面開始訓練模型便可。
$ python train.py
這些步驟都是在本地終端下完成的,必定不要忘記前面第3步,用API Keys登陸。
這樣的話,執行訓練以後,它會在網頁端wandb項目管理界面自動添加一個對應的項目,點擊進入這個項目,就能夠看到看板、報告等內容。
推薦閱讀
福利
最近我花費了半個月的時間,整理了1份理論+實踐的計算機視覺入門教程,這或許是你見過最好的一份CV教程之一。獨家打造、徹底免費,須要的同窗能夠掃碼添加個人我的微信,發送「CV」獲取~
本文分享自微信公衆號 - 七步編程(CodeSteps)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。