python基于tensorflow的命令行参数定义和读取

通过tf.app.flags.DEFINE_string(arg1,arg2,arg3),可以对命令行参数进行定义,第一个参数表示参数名,第二个参数是默认值,当我们通过命令行执行py文件没有传入对应参数的时候就会获取默认值,第三个是参数说明
之后通过 tf.app.flags.FLAGS.xxx来直接读取参数值

import tensorflow as tf

flags = tf.app.flags

# 定义参数
flags.DEFINE_string("input_dir", "./docs/test_videos", "输入视频所在文件夹")
flags.DEFINE_string("output_dir", "./output", "输出检测结果视频文件夹")
flags.DEFINE_string("video_name", "test.avi", "视频名称")
flags.DEFINE_string("tracker_type", "kcf", "追踪算法")

FLAGS = flags.FLAGS

def main(args):
	# 测试视频所在的文件夹
    input_dir = FLAGS.input_dir
    # 输出检测结果的文件夹
    output_dir = FLAGS.output_dir
    # 输入视频名称
    video_name = FLAGS.video_name
    # 跟踪器类别
    tracker_type = FLAGS.tracker_type
    
    print(input_dir)
    print(output_dir)
    print(video_name)
    print(tracker_type)

if __name__ == "__main__":
	tf.app.run()

文件名:存在video_detective.py
执行python video_detective.py --video_name l1.avi
输出:

./docs/test_videos
./output
l1.avi
kcf

你可能感兴趣的:(python,tensorflow,python,tensorflow)