簡化深度學習實踐流程:新鮮出爐的TensorFlow項目模板來了
林鱗 編譯自 GitHub
量子位 出品 | 公眾號 QbitAI
新的TensorFlow項目模板來了。
昨天,用戶mrgemy95在Reddit上發帖,稱這是「TensorFlow項目模板架構的最佳實踐」。幾小時內,帖子熱度迅速上升。
此外,mrgemy95還將代碼公布在GitHub上,短短几天就收穫了200+個star。
量子位帶大家去GitHub上探查一下這個模板。
開始一個TensorFlow項目前,編程人員往往需要進行很多繁瑣的工作,所以將這些瑣事包裝起來可以幫助他們在開始新的TensorFlow項目時簡化流程。
一個簡單且精心設計的結構對於任何深度學習項目來說都是必不可少的,所以在TensorFlow項目中經過大量實踐後,mrgemy95等人總結出一個集簡潔、文件夾結構的最佳實踐和良好的OOP(面向對象的程序設計)的TensorFlow項目模板。
項目架構如上圖所示
文件夾結構如上圖所示
如何使用這個模板呢?舉個例子,假設你想實現VGG模型,你需要按照以下步驟執行:
在模型文件夾中創建一個從「base_model」分類繼承來的VGG分類。
重寫「build_model」和「init_saver」這兩個函數。
前者是實現VGG模型的地方,後者是定義TensorFlow saver的地方。
在trainer文件夾中創建一個從「base_train」分類繼承來的VGG trainer。
重寫「train_step」和「train_epoch」這兩個函數。
在主文件中創建一個會話,並創建「Model」、「Logger」、「Data_Generator」、「Trainer」對象的實例和配置。
將所有這些對象傳遞給trainer對象,通過調用「trainer.train()」開始你的訓練。
之後,你將在模型和trainer文件夾中創建模板文件和一個簡單的示例,它將向你展示如何簡單嘗試第一個模型。
作者表示,之後會考慮用新的TensorFlow數據集API替換數據載入器部分。
最後,附項目GitHub地址:
https://github.com/Mrgemy95/Tensorflow-Project-Template#in-details
—完—
※馬庫斯再談AlphaGo Zero不是從零開始,AGI可能需要這十大先天機制
※谷歌中國:中國科技已經領先世界半代之遠
TAG:量子位 |