gpt4 book ai didi

python - 如何在 TensorFlow 中使用 "FLAGS"(命令行开关)?

转载 作者:太空狗 更新时间:2023-10-29 22:15:25 30 4
gpt4 key购买 nike

我正在尝试在我的应用程序中设置自定义批量大小。

如果我将以下代码放入我的应用中

tf.app.flags.DEFINE_integer('batch_size', 128,
"""Number of images to process in a batch.""")

它说下面的错误

argparse.ArgumentError: argument --batch_size: conflicting option string(s): --batch_size

如果我删除此声明,它会发誓:

usage: <myscript> [-h] [--batch_size BATCH_SIZE] [--data_dir DATA_DIR]
[--checkpoint_dir CHECKPOINT_DIR]

FLAGS.batch_size 使用的行。

myscript 是我的脚本的名称,我没有在任何地方写这条消息,根本不希望这些命令行开关。看起来 TF 使用了一些 Python 开关解析库并以某种方式期望这些开关。如何避免这种情况并期待自定义开关?

如何硬编码自定义 batch_size?

更新

我的命令行如下:

myscript image1.png image2.png image3.png

PNG 是来自 CIFAR 数据库的图像,我希望从命令行识别它。这是我希望的命令行,我不希望它包含“用法”输出中列出的选项。

最佳答案

从您的更新来看,您似乎根本不想使用 FLAGS 模块。如果您查看类似 cifar10_train.py 的程序,您将看到以下 near the bottom of the script :

def main(argv=None):  # pylint: disable=unused-argument
# ...

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

tf.app.run()调用是一些样板文件,可确保解析任何标志,然后调用同一模块中的 main() 函数。请注意 main() 有一个 argv 参数。这将填充程序的其余参数:在您的示例中,它将是一个列表 ["image1.png", "image2.png", "image3.png"]。因此,您可以简单地将 main() 函数编写为:

def main(argv=None):
if argv:
for filename in argv:
run_inference_on_file(filename)

关于python - 如何在 TensorFlow 中使用 "FLAGS"(命令行开关)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241827/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com