命令行参数设置|学习笔记

简介: 快速学习命令行参数设置

开发者学堂课程【深度学习框架 TensorFlow 入门命令行参数设置学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/773/detail/13551


命令行参数设置


内容介绍:

一、什么是命令行参数

二、命令行参数使用


一、什么是命令行参数

(1)当前路径下,在终端执行 Python 文件:  

Python day01_deeplearning.py 按下回车运行

如果在后面加上 --logdir ,这就是命令行参数。

(2)tensorboard --logdir=”” 指定事件文件的路径,这些路径是赋给命令行参数的值,可以传到代码当中去执行要显示的事件文件,这就是命令行参数。


二、命令行参数使用

(1)定义 tf.app.flags

它支持应用从命令行接受参数,可以用来指定集群配置等。在 tf.app.flags 下面有各种定义参数的类型

#定义整型

tf.app.flags.DEFINE_integer("max_step",0,"训练模型的步数")

第一个 “max_step”是参数的名字。

第二个是给的一个默认值。 tensorboard 后如果什么都不传,程序将返回默认值0传给 max_step 。

第三个参数是对变量的说明,例如 max_step 是训练模型的步数。

#定义字符串

tf.app.flags.DEFINE_string("max_step","","模型保存的路径+模型名字")

第一个参数是变量的名字。

第二个参数是给一个默认值。

第三个参数是对变量的说明。

(2)FLAGS 标志

为了方便后续的调用,在 tf.app.flags 中 flags 有一个 FLAGS 标志,它在程序中可以调用到我们前面具体定义的 flag.name

#定义获取命令行参数

FLAGS = tf.app.flags.FLAGS   简化FLAGS

#训练的步数(依据模型大小而定)

for i in range(FLAGS.max_step):

sess.run(train_op)

通过FLAGS.max_step调用命令行中传过来的参数。

命令行参数演示

#1)定义命令行参数

tf.app.flags.DEFINE_integer("max_step",100,"训练模型的步数")

tf.app.flags.DEFINE_string("max_step","UnKnow","模型保存的路径+模型名字")

#2)简化变量名

FLAGS = tf.app.flags.FLAGS

def command_demo():

"""

命令行参数演示

"""

print("max_step:\n",FLAGS.max_step)

print("model_dir:\n",FLAGS.model_dir)

return None

if __name__ == "__name__":

#代码7:命令行参数演示

command_demo()

运行后代码结果:

在命令行当中运行

Python day01_deeplearning.py

运行结果:

max_step:

100

model_dir:

UnKnow

Python day01_deeplearning.py --max_step=200 --model_dir="Hello World"

运行结果:

max_step:

200

model_dir:

Hello World

(3)通过 tf.app.run() 启动 main(argv) 函数

tf.app.flags.DEFINE_integer("max_step",100,"训练模型的步数")

tf.app.flags.DEFINE_string("max_step","UnKnow","模型保存的路径+模型名字")

#2)简化变量名

FLAGS = tf.app.flags.FLAGS

def command_demo():

"""

命令行参数演示

"""

print("max_step:\n",FLAGS.max_step)

print("model_dir:\n",FLAGS.model_dir)

return None

def main(argv):

print(argv)

return None

if __name__ == "__name__":

tf.app.run

如果 main(argv) 中不写argv或者换成其他,将会报错,就算没用到它也必须写上argv。

相关文章
|
7月前
|
存储 Shell Linux
当你打开终端并输入命令时会发生什么?(下)
当你打开终端并输入命令时会发生什么?(下)
|
7月前
|
Python
更改jupyter notebook 默认打开路径
更改jupyter notebook 默认打开路径
|
7月前
|
存储
201403-3 命令行选项
201403-3 命令行选项
|
7月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 将参数作为命令行输入 eval命令 使用指南
【Shell 命令集合 系统设置 】Linux 将参数作为命令行输入 eval命令 使用指南
112 0
|
7月前
|
存储 网络协议 Unix
当你打开终端并输入命令时会发生什么?(上)
当你打开终端并输入命令时会发生什么?(上)
|
存储 Python Windows
Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置,设置jupyter默认启动位置的方法
Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置,设置jupyter默认启动位置的方法
1020 0
Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置,设置jupyter默认启动位置的方法
|
NoSQL Ubuntu MongoDB
本地部署 explainshell (命令行解释服务)
前段时间我们分享了explainshell.com 一个命令行解释的网站,它会分析命令的帮助文档,根据你想查询的命令参数来抽取对应的解释,然后非常清晰地显示出来。
292 0
本地部署 explainshell (命令行解释服务)
|
Python
如何优雅地解析命令行选项(下)
随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。 自然而然地,我们自己写的很多程序(或者干脆就是脚本),也希望能够像原生命令和其他程序一样,通过运行时输入的参数就可以设定、改变程序的行为;而不必一层层找到相应的配置文件,然后还要定位到相应内容、修改、保存、退出……
278 0
|
Python
如何优雅地解析命令行选项(上)
随着我们编程经验的增长,对命令行的熟悉程度日渐加深,想来很多人会渐渐地体会到使用命令行带来的高效率。 自然而然地,我们自己写的很多程序(或者干脆就是脚本),也希望能够像原生命令和其他程序一样,通过运行时输入的参数就可以设定、改变程序的行为;而不必一层层找到相应的配置文件,然后还要定位到相应内容、修改、保存、退出……
162 0