【问题标题】:Is it possible to group tensorflow FLAGS by type and generate a string from them?是否可以按类型对 tensorflow FLAGS 进行分组并从中生成字符串?
【发布时间】:2016-09-22 15:34:35
【问题描述】:

是否可以按类型对 tensorflow FLAGS 进行分组? 例如。 一些标志与系统相关(例如线程数),而另一些则是模型超参数。

那么,是否可以使用模型超参数 FLAGS 来生成字符串? (该字符串将用于识别模型文件名)

谢谢

【问题讨论】:

    标签: python machine-learning computer-vision tensorflow


    【解决方案1】:

    我猜您想自动将超参数存储为文件名的一部分,以便更好地组织您的实验?不幸的是,TensorFlow 没有很好的方法来做到这一点,但您可以查看一些基于它构建的高级框架,看看它们是否提供类似的东西。

    【讨论】:

      【解决方案2】:

      我最终设法将 FLAGS 对象视为字典,然后将字典展平为 key=value 字符串。

      代码如下:

      def build_string_from_dict(d, sep='__'):
          fd = _flatten_dict(d)
          return sep.join(['{}={}'.format(k, _value2str(fd[k])) for k in sorted(fd.keys())])
      
      def _flatten_dict(d, parent_key='', sep='_'):
          # from http://stackoverflow.com/a/6027615/2476373
          items = []
          for k, v in d.items():
              new_key = parent_key + sep + k if parent_key else k
              if isinstance(v, collections.MutableMapping):
                  items.extend(_flatten_dict(v, new_key, sep=sep).items())
              else:
                  items.append((new_key, v))
          return dict(items)
      
      
      flags_dict = vars(FLAGS)['__flags']
      print build_string_from_dict(flags_dict)
      

      【讨论】:

        猜你喜欢
        • 2013-12-07
        • 2021-02-18
        • 2017-04-23
        • 1970-01-01
        • 1970-01-01
        • 2021-07-07
        • 1970-01-01
        • 2011-03-16
        • 2017-06-15
        相关资源
        最近更新 更多