当前位置:  开发笔记 > 编程语言 > 正文

如何通过PyCharm将命令行参数传递给tf.app.flags?

如何解决《如何通过PyCharm将命令行参数传递给tf.app.flags?》经验,为你挑选了1个好方法。

当我通过PyCharm将命令行参数传递给我的Python程序时,我会像往常一样发现它们sys.argv,tf.app.flags.FLAGS而是报告空字符串.

如果我在PyCharm外部运行相同的程序(从命令行),则tf.app.flags.FLAGS报告预期的命令行参数值.

请参阅下面的屏幕截图,了解我如何在PyCharm中传递命令行参数.

这是一个重现问题的简短程序:

import tensorflow as tf
from sys import argv

flags = tf.app.flags
FLAGS = flags.FLAGS

# command line flags
flags.DEFINE_string('input', '', "input file (.p)")

def main(_):
    print('Parameters', argv)
    print('input', FLAGS.input or 'is empty')

# parses flags and calls the `main` function above
if __name__ == '__main__':
    tf.app.run()

如果我从命令行运行它,我得到预期的输出:

python3 issue.py --input my_data.p
Parameters ['issue.py', '--input', 'my_data.p']
input my_data.p

但是从PyCharm,input设置为空字符串:

/usr/bin/python3.5 /home/fanta/workspace/CarND-Transfer-Learning-Lab/issue.py "--input my_data.p"
Parameters ['/home/fanta/workspace/CarND-Transfer-Learning-Lab/issue.py', '--input my_data.p']
input is empty

如何input使用Tensorflow tf.app.flags.FLAGS和PyCharm 来包含命令行参数?

在此输入图像描述



1> kafman..:

不要将脚本参数放入引号"...".写吧

--input_data my_data.p

Script Parameter屏幕截图中的字段中.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有