當前位置:
首頁 > 知識 > TensorLayer 2.0:保有最多官方神經網路層的通用Python庫

TensorLayer 2.0:保有最多官方神經網路層的通用Python庫

機器之心轉載

來源:北京大學前沿計算研究中心

對於開發者而言,深度學習系統的複雜度在不斷的增加。從搭建神經網路模型,到動態模型,再到複雜的訓練流程和任務管理,這使得通過輕量級工具全面管理深度學習開發的需求也越發強大。TensorLayer 開源社區正是希望打造一個不隸屬於任何企業的深度學習開發框架。

近日,TensorLayer人工智慧開源社區發布了TensorLayer 框架的2.0版本,由即將加入北京大學前沿計算研究中心的董豪博士主持開發,以支持動態訓練模式和動/靜態神經網路模型切換,以及TensorFlow2.0。本次2.0的大更新主要貢獻來自北京大學和帝國理工學院的核心團隊,包括吳潤迪(@ChrisWu1997)、張敬卿(@JingqingZ)、吳睿海(@warshallrho)、董豪(@zsdonghao)。新的設計在支持動態訓練模式的同時,大大簡化了自定義神經網路的實現,利於協同擴展和維護。

TensorLayer的前世今生

深度學習開發缺乏透明、靈活和易定製的框架,同時公司主導開發的框架往往對支持最新的神經網路有滯後性,並對其他公司的工作有排斥性,不利於研究者使用。這催生了獨立開發不隸屬於任何組織的深度學習開源框架,以分享最新的神經網路設計、數據處理工具、訓練函數和代碼樣例等,支持開發日益複雜的深度神經網路。2016年,董豪在帝國理工讀博期間在導師郭毅可院士的領導和支持下,在Github上開源了第一個版本的TensorLayer,並於2017年獲得ACM MM最佳開源軟體獎,目前已獲得17萬次下載,成為主流框架之一。TensorLayer提供了易用性、拓展性和兼容性並存的高層設計抽象,便於廣大研究人員和工程師從事開發和前沿研究工作,大大拉近了工業界和學術界的距離。

ACM MM最佳開源軟體獎證書

Akara Supratak代表TensorLayer團隊領獎

深度學習推動了計算機視覺、自然語言處理和多媒體等領域的發展,然而開發一個深度學習演算法通常十分困難,因為它涉及到構建神經網路架構、訓練流程、數據處理、以及生命周期管理等。TensorLayer是一個通用型Python庫,旨在幫助研究者和工程師高效地開發深度學習演算法。它為神經網路搭建、開發流程、以及生命周期管理提供了豐富的抽象方法,在提高效率的同時,還保留性能和可拓展性。TensorLayer開源三年來,已經在學術界和工業界得到了很好的驗證,幫助國內外研究人員和產品工程師實現各類深度學習功能。

2.0版本主要在北京大學前沿計算研究中心的支持下完成。

TensorLayer由底層到上層可以分為三大模塊:

神經網路模塊:層是神經網路的核心單元,TensorLayer提供了大量工業界和學術界需要的參考層實現(比如 CNN、RNN、BinaryNet等),提供類似Pytorch的「動態」聲明方式,也提供類似Lasagne的堆疊式「靜態」聲明方法來建立模型,並支持動態圖和靜態圖兩種訓練模式,以支持不同的開發需求。

工作流模塊:神經網路只是深度學習系統中的基礎部分,為了支持整個深度學習開發流程,TensorLayer提供了大量數據處理和訓練流程所需的工具。此外,為了管理整個深度學習開發,以支持項目的存儲、比較、溯源等,TensorLayer提供了生命周期管理功能,包括模型、數據和訓練流程的管理,以及支持任務分發以實現多任務並行執行,以加快訓練(比如 超參數選取)和自動產品化部署。

應用模塊:為了促進產業界和學術界的交流,TensorLayer社區提供了大量應用和預訓練模型,包括醫療圖像分析、圖像增強、人體姿態估計、文本生成、風格遷移、各類增強學習演算法,等等。

董豪在國際研討會上介紹 TensorLayer 的工作

此外,與 Keras 和 Pytorch 相比,TensorLayer 提高了神經網路模塊的抽象化設計,同時實現了降低使用現有層和開發新層的工作量,既不需要開發者編寫函數以計算層的輸出尺寸(Keras需要),也不需要在使用層時輸入上一層的輸出尺寸(Pytorch需要)。這些設計大大方便了框架的拓展。更重要的是TensorLayer提供了整套端到端的工作流,包括數據預處理、訓練、服務模塊、資料庫管理,以及任務自動發放和收集,這些都是開發者構建整個系統的關鍵。開發流程採用小步快跑的開發模式,能夠快速地支持最新的神經網路,極大地方便了廣大開發者的開發貢獻。得利於眾多一線科研人員的參與,截止目前為止,TensorLayer一直保持著最多的官方神經網路層。

TensorLayer的後台目前基於TensorFlow計算引擎和MongoDB資料庫,但這些模塊設計可以拓展到其他的計算引擎和資料庫中。

TensorLayer開源社區

本次2.0更新值得注意的是來自北京大學信息科學技術學院的兩位大三同學,吳潤迪(16級圖靈班)和吳睿海。他們在今年1月份加入開發團隊,經過4個月的努力,在神經網路模塊和工作流模塊中做出了重大的貢獻,成為了本次大更新的最核心成員。此外,TensorLayer重視國內社區發展,這次更新非常感謝國內社區的:李國、魏亞東、麥絡、柳青林、羅一風等人的支持,也非常感謝電子工業出版社對知識傳播的支持,編寫《深度學習:一起玩轉TensorLayer》一書。

TensorLayer 社區當前正處在一個主動發展的階段,包括一個「框架開發團隊」和一個「應用開發團隊」。目前已經從開源社區接收到大量的貢獻,貢獻者來自帝國理工學院、北京大學、卡內基梅隆大學、斯坦福大學、清華大學、加州大學洛杉磯分校、西安交通大學、西安電子科技大學、愛丁堡大學、瑞典林雪平大學等高校的研究人員,以及谷歌、微軟、阿里巴巴、騰訊、ReFULE4、360安全、彭博等公司的工程師。國內的社區交流以微信群和線下聚會為主。此外,TensorLayer社區和很多組織都有保持聯繫,如London PhD Network、Kubeflow、Clusterone等,社區幾位主要成員拿到了OpenAI、Google Brain、Nvidia Research等公司的offer。

下一步做什麼?

開源社區接下來計劃增加更多的killer features,比如鑒於目前學界對3D視覺熱度上升(如PointNet, PointCNN等工作),計劃增加3D視覺所需的模塊以更好地支持3D視覺任務和處理mesh、點雲等3D數據,敬請期待。我們希望逐步減少對TensorFlow的依賴,開發更高效的數據流,並開發全套的最新計算機視覺、增強學習、自然語言處理等應用,以促進產業界和學術界的交流。

歡迎加入我們!

相關報道

[2] ClusterOne -「Humans of AI」系列: TensorLayer and the Chinese Deep Learning Community

https://clusterone.com/blog/hao-dong

董豪博士簡介

董豪博士即將畢業於帝國理工學院,並將於2019年9月加入北京大學前沿計算研究中心。研究領域為深度學習、計算機視覺以及醫療應用。在ICCV、TIFS、TMI、TNSRE、ACM MM等國際會議與刊物發表論文10餘篇。同時在SIGGRAPH、TIP、TKDE、Neurocomputing等國際會議與刊物擔任審稿人。他致力於推廣人工智慧技術,是深度學習開源框架TensorLayer的創始人,並獲得ACM MM 2017年度最佳開源軟體獎。

本文為機器之心轉載,轉載請聯繫原公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

Facebook發布PyTorch 1.1,開源AI模型優化簡化工具BoTorch&Ax
報名倒計時3天|CCF-CV邀你參加SpringCamp,與大咖一起「智見AI」

TAG:機器之心 |