学习目的:深度学习神经网络往往有过多的Hyperparameter需要调优,优化算法、学习率、卷积核尺寸等很多参数都需要不断调整,使用命令行参数是非常方便的。有两种实现方式,一是利用python的argparse包,二是调用tensorflow自带的app.flags实现。
利用tf.app.flags组件
tf定义了tf.app.flags,用于接受命令行传递参数,相当于接受argv。首先调用自带的DEFINE_string,DEFINE_boolean DEFINE_integer, DEFINE_float设置不同类型的命令行参数及其默认值。当然,也可以在终端用命令行参数修改这些默认值。
其中参数描述为:
| 第一个参数 | 第二个参数 | 第三个参数 |
|---|---|---|
| 参数名称 | 默认值 | 参数描述 |
import tensorflow as tf
flags = tf.app.flags
############################
# hyper parameters #
############################
# For separate margin loss
flags.DEFINE_float('m_plus', 0.9, 'the parameter of m plus')
flags.DEFINE_float('m_minus', 0.1, 'the parameter of m minus')
flags.DEFINE_float('lambda_val', 0.5, 'down weight of the loss for absent digit classes')
FLAGS = tf.app.flags.FLAGS
def main(_):
print(FLAGS.m_plu

本文介绍了两种在Python中处理命令行参数的方法:使用tf.app.flags组件和argparse包。通过实例展示了如何定义和读取命令行参数,适用于深度学习模型训练等场景。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



