利用python的absl配置参数

将深度学习应用到CV领域必不可少的要搭建模型,训练网络,一般模型搭建为一个py文件,网络训练为一个py文件,其中网络训练需要大量参数设置,比如张量运行的设备(CPU or GPU),初始学习率,训练次数,批次大小,图像裁剪尺寸等等,如果我们在程序中随意定义并初始化这些参数不免显得程序非常凌乱,而且维护性较差,同时占用内存,那么一个好的方法就是在程序的开头将其全部声明和初始化并且打包成一个整体,下面看代码:

from absl import flags, app

flags.DEFINE_string('参数名', '初始值', '参数的解释说明') # 定义字符串
flags.DEFINE_integer('参数名', '初始值', '参数的解释说明') # 定义整型数据
flags.DEFINE_float('参数名', '初始值', '参数的解释说明') # 定义浮点型数据
flags.DEFINE_boolean('参数名', '初始值', '参数的解释说明') # 定义布尔型

FLAGS = flags.FLAGS

def train(args):
 """
 """

if __name__ == '__main__':
	app.run(train)

另外,还可以从absl中导入logginglogging.info()输出日志信息,打个比方:logging.info('Conv2D shape: %s', x.shape)。尽量使用日志打印信息而不是print,日志打印的信息包含时间、文件、行数等便于维护和修改,而print是不包含这些的。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值