GluonCV — 計算機視覺的深度學習工具包

雷鋒網 AI 科技評論按:本文首發於 ApacheMxNet,作者李沐, AI 科技評論獲作者授權轉載,經不改動原意的編輯。

起源

有人曾問我,開發 MXNet 時候感覺最難的是什麼。我會毫不猶豫的覺得「重複論文里的實驗結果」是最困難的一點。舉三個例子:

  • Lin Min(Network in network 提出者)在 16 年的時候發現 MXNet 在 ImageNet 上面訓練的模型精度比 Torch 低 1%。為了 debug 這個事情甚至開發了一個插件可以在 MXNet 跑任意 Torch 的代碼來對比結果。最後發現原因是我們圖片裁剪后默認使用 JPEG 的 85 質量保存,改成 95 質量就可以補上丟掉的精度了。

  • 在 Inception V3 論文出現后 Bing Xu(GAN 的作者之一)第一時間去重複這個工作。因為 Google 沒有公開代碼,而且論文裡面細節不明確。幸好認識原論文作者可以問問題,但前後也花了好些天才重複實現出來。

  • 我在 CMU 的博士導師之一(他在 Google 報告給 Jeff Dean)曾在一次報告裡面說,他參與了一個內部的從 TensorFlow 前一代系統移植代碼的工作,發現在 TensorFlow 上精度死活丟了個點。前後花費了好幾個月時間找問題,最後發現是移植的代碼在使用圖片增強的時候順序跟原先不一樣。

三個例子的主人公都是頂尖的深度學習領域研究人員,但仍然很容易被一些細微的實驗細節耗費大量寶貴的時間。一個模型通常多達數十到數百層,不管是模型初始化和數據讀取都是隨機,每次訓練也需數個小時,這些都讓 debug 變得很困難。

當然,幸運的是,最近這些年隨着開源的深入人心,很多論文都可以找到開源的實現。對於大部分用戶來說不需要自己從頭開始實現一篇論文,去 Github 找個實現用就行了。但這個並不能解決所有問題:

  1. 網上的實現良莠不齊,很多都是新人練手之做。可能一大半不能重複出論文的結果

  2. 每個項目的實現多多少少有點不同,例如輸入數據格式,用什麼樣的深度學習框架,代碼風格不一樣。每換一個項目上手成本很大。

  3. 個人維護的項目通常只關注在某些地方,例如只關心某個數據集上的訓練。但實際使用的時候大家會關心如何部署,如何換一個數據集訓練之類。需要花費時間做二次開發。

  4. 最後代碼維護者很容易棄坑。例如我博士期間寫過一些項目,但之後工作和生活重心轉移,沒有精力才去回復用戶的提問。對於用戶來說,如果碰到一個坑,如果不能很快的溝通維護者,很容易導致被小地方困住大量時間。

理解到這些痛點后我們幾位從事計算機視覺的小夥伴,Zhi Zhang (@zhreshold), Hang Zhang (@zhanghang1989), Tong He (@hetong007), Eric Xie (@piiswrong), 拍了拍腦袋說,那我們來動手做一個工具包來試着解決這些問題吧。

這個工具包會對你有用嗎

我們想做一個不僅僅是資深用戶(數年計算機視覺經驗)能用的工具包,而是一個能幫助更加廣泛用戶(數月計算機視覺經驗)的項目。他們包括

  1. 希望能將視覺技術快速應用到產品的工程師

  2. 希望提出新算法的研究者

當然,如果你剛開始學習,請參考《動手學深度學習》,或者你對計算機視覺外的應用感興趣,請期待我們之後發佈的工具包。

所以,裡面到底有什麼

基於我們的用戶假設,這個工具包提供如下的功能:

  1. 最近幾年重要論文的復現

  2. 詳細文檔提供使用說明和代碼講解

  3. 提供預訓練的模型可以直接使用

  4. 性能評測,方便大家在不同模型之間做取捨

  5. 每個模型實現和接口盡量保證一致性,降低使用新模型的學習門檻

  6. 定時做重新訓練保證代碼正確性(嗯,我們用 AWS 不用錢)

  7. 中文社區

給個代碼看看

下面一段代碼下載預訓練好的 SSD 模型然後對圖片 street.jpg 進行物體檢測並展示結果。

項目在哪裡

GluonCV 發佈在 http://gluon-cv.mxnet.io。目前我們發佈了第一個預覽版本,其中主要包括了三個模型,均可以重複論文結果

  • 圖片識別:在 ImageNet 上訓練 ResNet

  • 物體檢測:在 Pascal VOC 上訓練 SSD

  • 語義分割:在 Pascal VOC 上訓練 FCN

自然我們會在接下來的版本里不斷加入新的模型。如果對哪些模型特別感興趣,請原文鏈接給我們留言。

下一步

掃描或者長按下面 QR 碼來關注我們:

公眾號里回復下面關鍵詞獲取信息:

  • 課程 --《動手學深度學習》課程視頻匯總

  • 論壇 -- 深度學習論壇地址

  • 資源 -- 所有中文資源匯總

請點擊下面鏈接來參與公開討論:

https://discuss.gluon.ai/t/topic/6081


想在手機閱讀更多網站設計及開發資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems