由于网上各类开源代码风格迥异,有的晦涩难懂,有的虽然易懂但代码风格只适合写小型模型,不利于将编程工作模块化。在学习之初就根据日后的拓展,合作需要,养成良好的代码风格,不仅有利于他人看懂代码,也有利于自身代码的维护性和拓展性。
本文是对danijar.com/structuring-your-tensorflow-models/这篇博客的笔记。
对于TF深度学习的模型,宜采用面向对象的代码风格。在构造函数中,配置模型相关的各类超参。使用Lazy Property Decorator使代码简洁明了,并降低资源消耗量。
图1 lazy—property的装饰器图1的代码是lazy_property的装饰器,在使用此装饰器后,模型可以写成图2形式:
图2 使用lazy_decorate后的模型代码最后,在TF代码中,使用名字空间来合理的组织图,避免计算图散乱。
网友评论