详解python的if __name__ == ‘__main__‘和from __future__ import print_function

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。

  本文主要介绍了if __name__ == '__main__'和from __future__ import print_function,希望能对学习Python的同学们有所帮助。
在这里插入图片描述
在这里插入图片描述

1. if name == “main”

  通常python文件有两种使用方法,一种为作为脚本直接运行;一种为import到其他脚本中调用。if __name__ == '__main__'下的代码只要在

### TensorFlow 中 `flags.DEFINE_string` 的用法及 `'master'` 参数详解 #### 1. `flags.DEFINE_string` 的功能 `flags.DEFINE_string` 是 TensorFlow 提供的种命令行参数解析工具,用于定义字符串类型的标志(flag)。通过该方法可以方便地设置程序运行时所需的配置项。调用此函数后,在脚本启动时可以通过命令行传递对应的值给这些标志[^2]。 示例代码如下: ```python import tensorflow as tf # 定义个名为 'model_path' 的字符串型 flag,默认值为空字符串 '' flags.DEFINE_string('model_path', '', '模型保存路径') FLAGS = flags.FLAGS ``` 当上述代码被执行时,可以在终端中这样传入参数: ```bash python script.py --model_path=/path/to/model ``` 此时,`FLAGS.model_path` 的值会被设为 `/path/to/model`。 --- #### 2. `'master'` 参数的意义 在 TensorFlow 的分布式训练场景下,`'master'` 参数通常被用来指定集群中的主节点地址。它是个字符串形式的 URL 地址,指向负责协调整个计算过程的任务管理器。对于单机或多机环境而言,这个参数的作用有所不同: - **单机模式** 如果是在本地机器上运行 TensorFlow 程序,则 `'master'` 可能默认为 `"local"` 或者留空。这种情况下表示所有的操作都在当前主机上的 CPU/GPU 上完成[^4]。 - **分布式模式** 当涉及到多个设备或者跨服务器部署时,`'master'` 应填写目标服务端的具体位置信息(如 IP 端口号),以便客户端能够连接至正确的入口点并参与联合运算。 例如,在个多机分布式的例子中可能看到这样的初始化语句: ```python cluster_spec = tf.train.ClusterSpec({ "worker": ["host1:port", "host2:port"], "ps": ["host3:port"] }) server = tf.distribute.Server(cluster_spec, job_name="worker", task_index=0, config=tf.ConfigProto(log_device_placement=True)) sess = tf.Session(server.target) # server.target 即包含了 master 的信息 ``` 这里 `server.target` 实际就是指代了 `'grpc://<hostname>:<port>'` 类似的格式作为输入提供给了 Session 创建函数。 因此总结来说,`'master'` 主要服务于定位到实际执行任务的核心控制单元之上;无论是简单的还是复杂的架构设计里都占据着不可或缺的地位。 --- ### 示例代码展示如何使用 `DEFINE_string` 设置 `'master'` 下面给出段完整的 Python 脚本来演示如何结合两者起工作: ```python from __future__ import absolute_import, division, print_function, unicode_literals import tensorflow.compat.v1 as tf tf.disable_v2_behavior() def main(_): sess = tf.Session(FLAGS.master) if __name__ == "__main__": # Define the string type flag named 'master' flags.DEFINE_string('master', '', 'Address of the TensorFlow runtime.') tf.app.run() ``` 在此基础上,用户可通过 CLI 方式灵活调整 session 所依赖的服务实例链接地址。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的喵喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值