太酷了!一款強大的機器學習可視化IDE

2021-12-26 七步編程

人工智慧方向的項目,和數據可視化是緊密相連的。

模型訓練過程中梯度下降過程是什麼樣的?損失函數的走向如何?訓練模型的準確度怎麼變化的?

清楚這些數據,對我們模型的優化至關重要。

由於人工智慧項目往往伴隨著巨大數據量,用肉眼去逐個數據查看、分析是不顯示的。這時候就需要用到數據可視化和日誌分析報告。

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」獲取~

相關焦點

  • 推薦┃Java程式設計師最喜歡的11款免費IDE編輯器
    1.NetBeansNetBeans是一款用Java編寫的開源IDE,是IDR解決方案最喜歡使用的Java IDE編輯器之一。官方網站:https://netbeans.org/2.EclipseEclipse是一款主要用Java編寫的免費java ide。Eclipse允許你創建各種跨平臺的可用於手機、網絡、桌面和企業領域的Java應用程式。
  • Linux, macOS和Windows 上一款整潔的 Python IDE
    來源:Linux迷連結:https://www.linuxmi.com/linux-thonny-python-ide.htmlThonny
  • 訓練可視化工具哪款是你的菜?MMCV一行代碼隨你挑
    1 TensorBoard TensorBoard 最初是隨 TensorFlow 提出的一款可視化工具包,其便捷性和完善的記錄功能使它得到了廣泛應用,並擴展到 PyTorch 等多種深度學習框架。TensorBoard 支持記錄多種數據類型:作為一款可視化工具,TensorBoard 可以基本滿足深度學習實驗的記錄和可視化需求,它提供了本地埠展示可視化結果,使用起來十分便捷。但也正因為 TensorBoard 的主要功能是可視化,如果涉及到紛繁複雜的實驗管理以及機器學習生命周期的記錄,我們可能需要藉助於其他工具。
  • 【一周特惠】戰錘:鼠疫2 Warhammer: Vermintide 2
    Vermintide 回來了——更加黑暗、更加血腥、更令人血脈賁張!Warhammer: Vermintide 2 是廣受讚譽的 Vermintide 的續作。是時候回到緊張激烈的第一人稱合作殺戮盛宴中了,這裡有著飛濺的內臟、精彩的近戰動作。背景設定在啟示錄風格的末世,位於戰火肆虐的戰錘幻想戰爭世界。
  • 推薦10款適合C/C++開發人員的IDE
    它是開發人員用於C/C++編程的最流行、最強大和最有用的IDE之一,這是一個簡單易用的開源軟體,最初,它被用於Java編程,但現在已經可以被用於各種程式語言。Eclipse可以運行Windows、Linux和Mac OS。
  • 小白學PyTorch | 14 tensorboardX可視化教程
    參考目錄:1 安裝2 標量可視化3 權重直方圖4 特徵圖可視化5 模型圖的可視化6 卷積核的可視化本章節來初次使用tensorboard來可視化pytorch深度學習中的一些內容,主要可視化的內容包括:標量變化(模型損失、準確率等);權重值的直方圖;特徵圖的可視化;模型圖的可視化;卷積核的可視化。
  • 嚯,這款AI建模工具實在太強大了,快來pick!
    哪款AI建模工具備受開發者青睞?百度飛槳企業版BML的Notebook-當仁不讓!它是百度AI內部算法工程師每天使用的Notebook建模工具。「工欲善其事,必先利其器」,AI開發不只有算法和模型,對工程師來說, 開發工具才是高頻接觸的入口。極致的編碼體驗、豐富的插件管理、良好的底層性能都格外重要。面對這一背景,BML Notebook做了重大升級。
  • 實用 | 分享一個決策樹可視化工具
    想要獲取更多的機器學習、深度學習資源。歡迎大家點擊上方藍字關注我們的公眾號:磐創AI。 一、具體代碼和步驟可視化我們的決策樹模型的第一步是把模型訓練出來。下面這個例子是在鳶尾花數據上,採用隨機森林的方法訓練出來的包含多棵決策樹的模型,我們對其中一棵決策樹進行可視化。
  • PyTorch模型訓練特徵圖可視化(TensorboardX)
    本文所有代碼解讀均基於PyTorch 1.0,Python3;本文為原創文章,初次完成於2019.03,最後更新於2019.09;最近復現的一篇論文一直都難以work,上了特徵圖可視化後一下子就找到了問題所在,所以今天想梳理一下PyTorch裡面的特徵圖可視化。
  • 常用的幾款前端開發編輯器對比
    (有的稱ide也好)進行測評(順序無關)。HBuilder是DCloud(數字天堂)推出的一款支持HTML5的Web開發IDE。它的主體是是由Java編寫,基於Eclipse,所以順其自然地兼容了Eclipse的插件。
  • 獨家 | 博士學霸推薦:機器學習9種必備工具
    然而,在這一過程中,短期內看不到的結果可能會在稍後階段產生百倍的回報。下面,我將介紹機器學習的一些工具。無論是您是一名學者還是一名人工智慧工程師,這些工具都會對您研究和構建機器學習應用程式非常有幫助。根據工具的用途,我將它們分為四類:環境隔離、實驗跟蹤、協作和可視化。機器學習是一個發展極為迅速的領域,因此常用的軟體包經常更新。
  • 繼Pyecharts之後,又一款國產可視化軟體
    本期分享一個國人可視化工具PyG2Plot。介紹之前,先梳理下G2、G2Plot、PyG2Plot三者關係,G2:一套由螞蟻集團數據可視化團隊(AntV)開發,基於圖層圖形語法(the grammar of graphics,同ggplot2底層語法)的可視化底層高交互引擎;G2Plot:基於G2封裝,力求開箱即用、易於配置、具有良好交互體驗的
  • 一款強大的資料庫,自動生成 CRUD 接口!
    今天咱們來聊一款強大的雲資料庫!開始之前,我們先來回顧一下資料庫發展歷史。資料庫發展歷史關係型單機資料庫關係資料庫的全稱是 Relational Database Management System,簡稱叫 RDBMS。
  • Scrummage:一款功能強大的OSINT和威脅情報框架
    關於ScrummageScrummage是一款功能強大的
  • 比 ping 強大百倍的可視化工具!結果一目了然
    但是,今天,民工哥給大家推薦一個強大的命令行工具:gping。gping 是基於 Rust 編寫可視化工具,具有動態圖形化界面顯示。這款開源終端工具逼格更高Mybatis-Plus 支持分庫分表了?官方神器發布!
  • 2018年最佳安全工具:看18款尖端武器如何攻克當今的威脅困局
    其關鍵技術包括:1)機器學習引擎:BluVector的機器學習引擎是一種監督式學習的引擎。該引擎擁有35個文件分類器,基於美國情報體系的威脅數據進行預先的訓練,用來評估所有文件的是惡意的概率,從「正常」到「未知」到「惡意」。
  • 機器學習建模神器PyCaret已開源!提升效率,幾行代碼輕鬆搞定模型
    寄語:PyCaret,是一款
  • 這6 款神器軟體,功能有點強大
    BDP是一個可視化數據分析平臺。它的功能非常的全面和強大。它可以導入多種數據平臺的數據,同時還可以數據處理 / 可視化展示 / 詳細的報告信息,同時還可以在不同平臺上展示。全景客是一個不出門就可以在家旅遊的軟體。
  • 測試機器學習模型不用寫代碼!谷歌「what-if」工具輕鬆搞定
    該工具提供交互式可視化界面,用戶可以探索並比較模型結果,可以快速地發現模型中的錯誤。構建高效的機器學習系統,需要提出並解決許多問題。僅僅訓練模型然後就放著不管是遠遠不夠的。優秀的機器學習從業者要像偵探一樣,時刻注意探索如何更好地理解構建的模型:數據點的變化將對模型的預測結果造成什麼影響?同一個模型對不同的群體會有哪些不同的表現?用來測試模型的數據集的多樣化程度如何等等。
  • 有了谷歌這款What-If工具,無需代碼即可掌握模型的所有資料
    今天,谷歌開源了一款工具,名為What-If,具體有以下幾種功能:對推斷結果可視化;編輯數據點,看模型會有怎樣的反應;研究單一特徵對模型的影響;研究反事實樣本;用相似度安排樣本;查看混淆矩陣和ROC曲線;測試算法公平性。