天天看點

新工具——TensorLayer:管理深度學習項目的複雜性

對于深度學習開發者來說,深度學習系統變得越來越複雜。以至于我們需要使用輕量級的工具從頭到尾來管理流程,為了将更多的連續學習内置到神經網絡中,這就要求我們建立可以疊代增強的更有彈性的資料集以及更多的動态模型。

深度學習開發人員必須花費大量的時間來整合神經網絡的元件,管理模型生命周期,組織資料和調整系統并行度等等。随着使用新的教育訓練樣本後,人類對于神經網絡模型的見解,更新模型和跟蹤其變化的能力就變得非常必要了。為此倫敦帝國理工學院的一個團隊開發了一個python庫來管理跨學科開發人員項目的複雜疊代過程。

為了更好地管理開發過程,該團隊開發了一個通用的python庫——tensorlayer。這個庫內建了很多開發過程中包括的方法,其中包括(操作、模型生命周期、并行計算、失敗)都以子產品化進行抽象。這些子產品包括以下功能:用于管理神經網絡層、用于管理模型和其生命周期、用于管理資料集、最後是解決容錯的工作流子產品。而tensorflow是教育訓練和推理的核心平台,它為mongodb提供了存儲空間。這些api的使用可以在文末連結中檢視,正是由于這些api的存在,tensorlayer才會如此的強大。

新工具——TensorLayer:管理深度學習項目的複雜性

深度學習的開發人員可以借助tensorlayer的功能編寫了多媒體應用程式。這些功能包括提供和導入層實作,建構神經網絡,管理模型生命周期,建立線上或離線資料集,以及編寫訓練計劃。這些功能分為四個子產品:層,網絡,資料集和工作流。

該團隊表示,雖然像keras和tflearn這樣的工具現在很有用,但它們并不像網絡那樣可以随網絡的擴張變得更複雜甚至無限制的疊代。它們提供了必要的抽象,以降低使用工具的門檻,但又掩蓋了很多底層的算法。雖然對開發者有好處,但是相對來說底層技術就變得難以調整和修改,而底層技術的修改和調整,這在解決許多現實世界的問題上是非常必要的。

與keras和tflearn相比,tensorlayer不僅提供了進階抽象,而且提供了包括資料預處理、訓練、訓練後處理,以及服務子產品和資料庫管理在内的端到端工作流程,這些是開發者建立一個完整模型所需要的全部過程。

tensorlayer倡導更靈活且可組合的範式:神經網絡庫可以與本機引擎交換使用。這允許開發者輕松地利用預模組化塊,而且不會影響可見性。這種非侵入性也使得與其他tf的包裝器如tf-slim和keras合并成為了可能。并且開發小組認為,靈活性不會影響性能。

tensorlayer正處于積極的發展階段,而且從開放社群獲得了許多貢獻。它已被倫敦帝國理工學院,卡内基梅隆大學,斯坦福大學,清華大學,加州大學洛杉矶分校等大學研究人員廣泛使用,還包括谷歌,微軟,阿裡巴巴,騰訊,refule4,彭博等許多工程師。

tensorlayer安裝:

文章原标題《managing deep

learning development complexity》

作者:nicole hemsoth 譯者:袁虎 審閱:阿福