发新帖

tf.app.flags组件使用

[复制链接]
967 2

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
AttributeError: module 'tensorflow.python.platform.flags' has no attribute 'DEFINE_enum' 是新版本组件才有的枚举类型吗
我知道答案 回答被采纳将会获得10 金币 已有2人回答
本楼点评(0) 收起

精彩评论2

libertatis  TF荚荚  发表于 2018-4-16 18:59:28 | 显示全部楼层
DEFINE_enum这个flag是1.5版本以后才有的。
https://github.com/tensorflow/te ... n/platform/flags.py
这里面好像没有它的定义或声明,不过你看16行有条注释:
"""Import router for absl.flags. See https://github.com/abseil/abseil-py."""
没错,它是从absl这个模块import进来的。在25行:
from absl.flags import *  # pylint: disable=wildcard-import
定义在这里:
https://github.com/abseil/abseil ... gs/_defines.py#L319
是的,隐藏的好深!!!
这里不光定义的有DEFINE_enum,还有DEFINE_list,DEFINE_spaceseplist,DEFINE_Multi,DEFINE_multi_string,DEFINE_multi_integer,DEFINE_multi_float,DEFINE_multi_enum,DEFINE_alias等等各种flag~
本楼点评(0) 收起
舟3332  TF芽芽  发表于 2018-4-16 20:16:36 | 显示全部楼层
libertatis 发表于 2018-4-16 18:59
DEFINE_enum这个flag是1.5版本以后才有的。
https://github.com/tensorflow/tensorflow/blob/r1.5/tensorfl ...

bingo 这个貌似就是 google 内部用的 flag 库
本楼点评(1) 收起
  • libertatis不过,对于1.5以前的版本,也是可以用DEFINE_enum这个flag的。比如我是1.2的版本。
    首先安装absl包:
    pip install absl-py
    安装完以后,就可以在我们的代码中使用DEFINE_enum啦。
    就像在flags.py源码中一样:
    from absl.flags import *
    import 进来以后就可以直接使用啦:
    DEFINE_enum(.....)

    下面是absl模块的github地址:
    https://github.com/abseil/abseil-py
    2018-4-16 20:57 回复
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

5

积分
快速回复 返回顶部 返回列表