今天在学习 mnist 代码的时候,看到主函数中有如下的代码:
FLAGS, unparsed = parser.parse_known_args()
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
第一行的含义是对运行命令行时传进来的参数进行解析,如果传进来的参数是之前被add到parser中的,则被传给FLAGS,否则讲传给unpared。
如我们在运行程序时在后面加上了 --epoch 32 参数,如果这个参数之前被加入到parser中,则将parser中的epoch参数更改为32并传诶FLAGS,否则 则将 --epoch 32写入到unparsed中
为了了解第二行的含义,我们在/tensorflow/python/platform中找到app.py并打开。
# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed und