在实际工作中,有两种方法可以在运行脚本时获取命令行参数:
另一方面,利用tf.app.flags组件
tf定义tf.app.flags并接受从命令行传递参数。 这相当于接受argv。 首先,调用附带的DEFINE_string、DEFINE_boolean DEFINE_integer和DEFINE_float来设置不同类型的命令行参数及其默认值。 当然,也可以在终端上使用命令行参数更改这些缺省值。
导入tensor flow 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_boolean('boolean ',True,' the parameter of test boolean ) )。
flags.define _ string (' test string '、' string '、' The parameter of test string ) )。
FLAGS=tf.app.flags.FLAGS
efmain(_ ) :
打印(flags.m _ plus )。
打印(flags.m _ MINUS ) )。
print(lambda_val ) )是
if __name__=='__main__':
tf.app.run执行main函数
使用python的argparse软件包
argparse是python命令行分析工具,可以在python代码中调用shell命令。 tensorflow的一些示例使用argparse定义了一些缺省命令。 通常是全局变量,也用作与系统命令交互的全局设置。 argparse软件包的使用方法如下。
导入argparse模块
导入警报
2 .可以创建解析器对象ArgumentParser并添加参数
parser=arg parse.argument parser (描述=' thisisaexampleprogram ' )
3. add_argument )方法,指定程序必须接受的命令参数
parser.add_argument('--echo ',type=str,default='hi ',dest='m ',help='echo the string you use here ' )
parser.add_argument('--square ',type=int,default=9,dest='n ',help=' displayasquareofagivenumber '
args=parser.parse_args (
定位参数:
parser.add_argument('echo ',help='echo the string ' ) )。
可选参数:运行程序时,定位参数是必需的,可选参数是可选的。
通过指定add_argument ()常用参数: dest ) dest,可以从args.a访问参数,例如dest='a '
打印(args.m ) )。
打印(args.n )。
实例的完整代码如下
导入警报
parser=argparse.ArgumentParser (
parser.add_argument('--echo ',type=str,default='hi ',dest='m ',help='echo the string you use here ' )
parser.add_argument('--square ',type=int,default=9,dest='n ',help=' displayasquareofagivenumber '
args=parser.parse_args (
打印(args.m ) )。
打印(args.n )。