tensorflow命令行参数之boolean使用的说明(踩坑指南)

2023-10-27

问题描述

简而言之就是,参数输出值与命令行输入值不一致

比如我们有个main.py,具体代码如下:

import tensorflow as tf


tf.app.flags.DEFINE_boolean('if_gpu', True, 'if use gpu')
FLAGS = tf.app.flags

def main(_):
    print(FLAGS.if_gpu)

if __name__ == '__main__':
    tf.app.run()

 

python main.py --if_gpu False

当执行如上代码时(或者 if_gpu 后接任何值),该参数的输出恒为 True ;而且不管默认值为 True 还是 False,只要--if_gpu后面有值传入,参数值都会是 True,这个时候开始查阅资料,看到大家好像没遇到过这个问题似的,几乎没讨论。一个普遍的置 False 方法是参数前加 no,也就是执行 python main.py --noif_gpu,这ok,但是如若我们要写个脚本,就困难了,既然置 True 和置 False 形式不一样,就需对每个boolean参数传入值进行判断,是 True 可正常接参数;是False,需要在参数前加 no,会有 2^n 个执行形式...显然不能这样做。

解决办法

方法是很简单的,只是过程费了些时间。也是习惯所致,本人命令行传参时从来不用等号,没想到简单地加个等号,就解决了。如下所示:

python main.py --if_gpu=False

也就是,凡是boolean类型参数,加 “=” 就与参数输入一致了。

补充

这个问题好像之前是个bug,即使有等号,也同样有问题。

 图片参考:https://github.com/tensorflow/tensorflow/issues/379

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tensorflow命令行参数之boolean使用的说明(踩坑指南) 的相关文章

随机推荐

  • hexo博客主题diaspora的gitalk配置(多图预警)

    前提 已装好git hexo环境 首先 在github上注册 如下图所示 进入设置 开发者设置 新建OAuth App 注册 注册完成 注意事项均在图中标出 现在完成了第一步 然后去主题页下载主题 也可以在你的hexo文件夹下右键打开git
  • java快速对接微信支付分(一)

    1 微信支付分产品介绍 维信支付分是对个人的身份特质 支付行为 使用历史等情况的综合计算分值 旨在为用户提供更简单便捷的生活方式 1 用户可在具体应用场景中 开通威信支付分 此为最常见的开通方法 开通后 用户可以在 微信 gt 我 gt 服
  • Windows安装ElasticSearch

    Linux买了个最小配的服务器 内存玩不起 window实验一下 准备工作 第一步 安装java 下载链接 进去下个最新版的就行 https www oracle com technetwork java javase downloads
  • 实现简单的栈与队列

    前言 前面已经详细地介绍了基本的顺序表和链表 这次要介绍的是数据结构中的栈与队列 从本质上来说 二者是特殊的线性表 是依赖于顺序表或链表来实现的 所以只要能够很好地掌握顺序表和链表 再了解清楚栈与队列的概念及基本结构 就可以很好地将二者实现
  • python编写递归函数、计算n!(n=10)_十、Python函数递归(带实例演示)

    在一个函数体内调用它自身 被称为函数递归 函数递归包含了一种隐式的循环 它会重复执行某段代码 但这种重复执行无须循环控制 例如有如下数学题 己知有一个数列 f 0 1 f 1 4 f n 2 2 f n 1 f n 其中 n 是大于 0 的
  • 初步使用openEuler华为欧拉Linux系统

    使用openEuler 1 下载镜像文件 2 启动虚拟机软件安装虚拟机 3 开始配置系统 4 开始使用 5 安装桌面 5 1 安装必备的字体 5 2设置桌面图形化界面 5 3安装ukui 5 4重启 6 整体评价 参考文献 1 下载镜像文件
  • Html+css(第一天)

    基础认识 1 五大浏览器有哪些 IE浏览器 火狐浏览器 Firefox 谷歌浏览器 Chrome Safari浏览器 欧朋浏览器 Opera 2 相同的网页在不同浏览器中显示效果会完全一致吗 因为不同浏览器渲染引擎不同 解析的效果会存在差异
  • 编程思想:面向对象和面向过程

    何谓面向对象 何谓面向过程 对于这编程界的两大思想 一直贯穿在我们学习和工作当中 我们知道面向过程和面向对象 但要让我们讲出来个所以然 又感觉是不知从何说起 最后可能也只会说出一句就是那样啦 你知道啦 而这种茫然 其实就是对这两大编程思想的
  • linux系统在当前目录下创建子目录,linux根目录下一级子目录

    linux上每一个文件都必须是在根文件系统下的某个路径或者是从根文件系统才可以访问 文件系统中只分为目录和文件 所有文件都是存放在目录下 root根目录用 表示 ls 查看根目录下的一级子目录 boot 存放系统启动相关的文件 如内核文件
  • 地址解析中文乱码

    function Params var pattern w a zA Z0 9 u4e00 u9fa5 ig params 定义正则表达式和一个空对象 decodeURIComponent window location href true
  • 【数据结构】包装类&简单认识泛型

    文章目录 1 包装类 1 1 基本数据类型和对应的包装类 1 2 装箱和拆箱 2 什么是泛型 3 引出泛型 3 1 语法 4 泛型类的使用 4 1 语法 4 2 示例 4 3 类型推导 Type Inference 5 泛型的上界 5 1
  • E9流程表单中动态自定义添加button js代码

  • 发现一款专为.NET WinForms开发的数据可视化图表库

    FastReport是快捷 轻量级报表工具 使用简单 功能丰富 性价比高 适合个人 中小型企业和项目使用 FastReport近期推出了全新专为 NET WinForms开发的数据可视化图表库FastReport Business Grap
  • echarts水波球特效(附带外边框进度条)

    echarts水波球特效 附带外边框进度条 1 话不多说先上效果图 2 这里用到了echarts的liquidFill图表 需要加载liquidFill插件 npm i echarts liquidFill save 3 在main js入
  • c++ vector容器函数说明

    构造函数 vector 默认构造函数 创建一个空的 vector 对象 vector size type n 创建一个包含 n 个元素的 vector 对象 每个元素的值都是类型的默认值 vector size type n const v
  • yii2-admin扩展自定义目录

    yii2 admin文件如下 仓库地址 https github com mdmsoft yii2 admin tree master 复制yii2 admin文件至自定义目录 比如我就复制到了common rbac目录 在配置文件comm
  • 如何动态调试Python的第三方库

    注意 本文方法仅限于调试安装时附带py源码的库 如sklearn 引入 用sklearn中的sklearn feature extraction text TfidfTransformer来获取TF特征 但发现sklearn的计算结果与我手
  • 使用变量时,单引号、双引号、反向单引号的区别

    单引号 双引号 反向单引号的区别 1 单引号 当变量内容用单引号 时 对里面的命令echo和变量USER都无法识别 只识别成字符串本身 称之为强引用 2 双引号 当变量内容用双引号 时 是不能识别出里面的命令echo的 但可识别出里面的变量
  • 码农干货系列【1】--方向包围盒(OBB)碰撞检测

    码农干货系列 1 方向包围盒 OBB 碰撞检测 2012 06 07 11 40 by 当耐特 9251 阅读 20 评论 收藏 编辑 干货 最近一直在删文章 不是要关博洗手什么的 而是被删的文章没有达到 干货 的标准 干货的反义词是水货
  • tensorflow命令行参数之boolean使用的说明(踩坑指南)

    问题描述 简而言之就是 参数输出值与命令行输入值不一致 比如我们有个main py 具体代码如下 import tensorflow as tf tf app flags DEFINE boolean if gpu True if use