1. 程式人生 > >TensorLayer : 最新深度學習與增強學習庫

TensorLayer : 最新深度學習與增強學習庫


TensorLayer 是建立在 Google TensorFlow 上的深度學習(Deep Learning)與增強學習(Reinforcement Learning) 軟體庫。它的優勢在於既能提供高階 API 以方便開發者快速搭建網路模型,也能保證與 TensorFlow 的全透明銜接。原始碼簡潔,非常容易修改與拓展,同時適合於演算法研究人員和產品開發者,加快新演算法產品化。 官方例子涵蓋 Stacked Denoising Autoencoder, Dropout, CNN, LSTM, Word Embedding, Language Modelling, Machine Translation, Deep Reinforcement Learning等等。

官方網站 不僅僅描述瞭如何使用該API,它還包含所有官方例子的演算法教程。

個人強烈推薦 TensorLayer 的原因是它不僅僅是一個功能齊全的工具,它與 TensorFlow 全透明的銜接方式是 Keras、Tflearn 沒法相提並論的;對研究者而言,可以非常方便地修改訓練的過程,而不會像其他庫用簡單的一行 fit() 搞定,根本沒法讓人修改內部運作,然而對研究者而言最重要的是它的原始碼真的寫得太棒了,我覺得它是我見過最簡潔的python程式碼,我們的演算法可以很容易拓展進去,然後和它已有的功能一起使用!!! 對普通開發者而言,它的好處是例子多,例子的程式碼風格保持一致,不像TensorFlow官方程式碼那樣每個例子的程式碼風格完全不同。。一致的程式碼風格有助於開發人員快速找到合適的模型來開發產品。

最後,它的開發者是帝國理工計算機系的博士,陸陸續續有帝國的大神支撐,不像其他框架只是個人在開發。我們可不希望辛辛苦苦學一個框架,然後這個框架最後不再維護了。

---

此外,值得注意的是 TuneLayer 的前身是 TensorLayer 它是為科學家和工程師而設計的一款基於Google TensorFlow開發的深度學習與增強學習庫。使用 TLayer 可以大大加快演算法實驗和產品開發速度。它非常容易拓展和修改,並提供大量的官方例子程式,方便開發者快速找到適合自己專案的例子。 官方文件 不僅僅描述如何使用 TuneLayer API,還包含了大量的教程,覆蓋不同的神經網路型別、深度增強學習和自然語言處理等等。不過,與其它基於TensorFlow開發的傻瓜式API不同,TuneLayer需要使用者有基本的神經網路知識。瞭解TensorFlow的基礎,可以讓用非常熟練地使用它。 設計理念
TuneLayer 的發展需要和 TensorFlow 緊密結合,因此 TLayer 的設計具有很強的可塑性,它追隨如下的設計理念: Transparency(透明):不會去隱藏 TensorFlow,而是儘可能地依賴 TensorFlow 的方法,追隨 TensorFlow 的慣例。不會去隱藏訓練過程,所有迭代、初始化都可以被使用者管理。 Tensor (張量):神經網路通過高緯度資料表達。 TPU(張量處理單元):張量處理單元是 Google 設計的專門執行機器學習的定製化 ASIC,除了 TPU 我們將不斷相容更多的機器學習 ASIC。 Distribution(分散式):分散式機器學習是 TensorFlow 的基本功能,TLayer 在 TensorFlow 的基礎上結合 Spark ,讓分散式計算更好地服務於機器學習。 Compatibility(相容性):網路被抽象為規則函式、損失函式和每層輸出。容易與其它 TensorFlow 庫結合。 Simplicity(簡化):容易使用,容易拓展與修改,加快研究成果的產品化進度。 High-Speed(高速):在使用GPU時,執行速度和純TensorFlow程式碼一樣,不會因為簡化程式碼而犧牲效能。


相關:

Keras: 作者是一個Google程式設計師。

Tflearn: 作者是一個陌陌的老外碼農,他之前在清華,後來去了陌陌,很神奇的人。



參考:




相關:

Keras: 作者是一個Google程式設計師。

Tflearn: 作者是一個陌陌的老外碼農,他之前在清華,後來去了陌陌,很神奇的人。