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

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

开发者学堂课程【深度学习框架 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。

相关文章
|
人工智能 异构计算
用AI实现涂鸦变精美画作
您将学习如何在阿里云交互式建模(PAI-DSW)中,使用Stable Diffusion XL Turbo模型和DiffSynth UI实现AI作画,涂鸦也能生成精美画作。
|
小程序 安全
微信小程序自定义底部导航栏
微信小程序自定义底部导航栏
|
机器学习/深度学习 存储 弹性计算
ECS是什么?
ECS(Elastic Compute Service)是一种提供弹性和可伸缩的计算能力的服务,通常由云服务提供商如阿里云和华为云提供。它允许用户根据需要快速扩展或缩减计算资源,以满足不同业务场景的需求
4157 0
|
传感器 C# 监控
硬件交互新体验:WPF与传感器的完美结合——从初始化串行端口到读取温度数据,一步步教你打造实时监控的智能应用
【8月更文挑战第31天】本文通过详细教程,指导Windows Presentation Foundation (WPF) 开发者如何读取并处理温度传感器数据,增强应用程序的功能性和用户体验。首先,通过`.NET Framework`的`Serial Port`类实现与传感器的串行通信;接着,创建WPF界面显示实时数据;最后,提供示例代码说明如何初始化串行端口及读取数据。无论哪种传感器,只要支持串行通信,均可采用类似方法集成到WPF应用中。适合希望掌握硬件交互技术的WPF开发者参考。
343 0
|
负载均衡 测试技术 网络安全
阿里云服务网格ASM多集群实践(一)多集群管理概述
服务网格多集群管理网络打通和部署模式的多种最佳实践
|
网络协议 网络性能优化 数据安全/隐私保护
IPV4与IPV6之间的区别
IPv4(32位,42.9亿地址)面临枯竭,促成了IPv6(128位,近乎无限地址)的诞生。IPv6增强安全性,提供身份验证,使用灵活的ICMPv6和SLAAC配置地址,其十六进制表示法区别于IPv4的点分十进制。IPv6还优化了数据包处理,包含Flow Label以提升服务质量,使用AAAA记录进行DNS映射。随着需求增长,IPv6正逐步成为标准。
|
存储 分布式计算 Apache
阿里云 EMR 基于 Paimon 和 Hudi 构建 Streaming Lakehouse
Apache Paimon 和 Apache Hudi 作为数据湖存储格式,有着高吞吐的写入和低延迟的查询性能,是构建数据湖的常用组件。本文在阿里云EMR上,针对数据实时入湖场景,对 Paimon 和 Hudi 的性能进行比对,并分别以 Paimon 和 Hudi 作为统一存储搭建准实时数仓。
65618 1
阿里云 EMR 基于 Paimon 和 Hudi 构建 Streaming Lakehouse
|
缓存 前端开发 JavaScript
如何提高前端开发效率
【2月更文挑战第3天】前端开发是现代互联网应用开发的重要组成部分,但是随着技术的不断发展,前端开发也面临着越来越多的挑战。本文将介绍如何提高前端开发效率,帮助开发者更好地应对这些挑战。
263 8
|
存储 编译器 C语言
C语言程序设计——字符输出函数putchar()
C语言程序设计——字符输出函数putchar()
|
SQL 资源调度 分布式数据库
Flink SQL 问题之服务器报错如何解决
Flink SQL报错通常指在使用Apache Flink的SQL接口执行数据处理任务时遇到的问题;本合集将收集常见的Flink SQL报错情况及其解决方法,帮助用户迅速恢复数据处理流程。
357 3