tf.app.flags和tf.app.run的使用
tf.app.flags和tf.app.run的使用
tf.app.flags主要用于處理命令行參數(shù)的解析工作,其實(shí)可以理解為一個(gè)封裝好了的argparse包(argparse是一種結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)格式,類似于Json、XML)。
?
我們通過(guò)tf.app.flags來(lái)調(diào)用這個(gè)flags.py文件,這樣我們就可以用flags.DEFINE_interger/float()來(lái)添加命令行參數(shù),而FLAGS=flags.FLAGS可以實(shí)例化這個(gè)解析參數(shù)的類從對(duì)應(yīng)的命令行參數(shù)取出參數(shù)。
新建test.py文件,并輸入如下代碼,代碼的功能是創(chuàng)建幾個(gè)命令行參數(shù),然后把命令行參數(shù)輸出顯示
?
·? 在命令行中輸入test.py -h就可以查看幫助信息,也就是Directory with the MNIST data.,Batch size和Number of batches to evaluate這樣的消息。
·? 在命令行中輸入test.py --batchsize 10就可以將batch_size的值修改為10!
tf.app.run()
該函數(shù)一般都是出現(xiàn)在這種代碼中:
import tensorflow as tfflags = tf.flagsflags.DEFINE_string('str_name', 'hjd', 'str_vale')flags.DEFINE_integer('int_name', 200, 'int_value')flags.DEFINE_bool('bool_name', False, 'bool_value')flags = flags.FLAGS #必須帶參數(shù),否則:'TypeError: main() takes no arguments (1 given)';#main的參數(shù)名隨意定義,無(wú)要求 def main(agr_123):print(flags.str_name)print(flags.int_name)print(flags.bool_name)if __name__ == '__main__':tf.app.run()#執(zhí)行main函數(shù)上述第一行代碼表示如果當(dāng)前是從其它模塊調(diào)用的該模塊程序,則不會(huì)運(yùn)行main函數(shù)!而如果就是直接運(yùn)行的該模塊程序,則會(huì)運(yùn)行main函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的tf.app.flags和tf.app.run的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matlab exist()判断目录文件
- 下一篇: OpenCV显示中文汉字,未使用CvxT