其他

简化深度学习实践流程:新鲜出炉的TensorFlow项目模板来了

2018-02-06 专注报道AI 量子位
林鳞 编译自 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

加入社群

量子位AI社群13群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot5入群;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进群请加小助手微信号qbitbot5,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存