如何通过tensorflow.contrib.learnEstimator.fit input_fn()从任意来源(而不是文件)传递数据?

时间:2016-10-14 01:45:46

标签: python tensorflow skflow

Estimator.fit()函数作为参数

  • xybatch_size)其中xy可能是numpy数组或迭代器。

    赞成

    1. 易于使用。
    2. 只要问题可以分解为xy,就可以从任意来源提供数据。
    3. CONS

      1. 没有提供纪元的条款
      2. 如果xy是数组,则数据聚合必须可用而不是即时阅读(例如从数据库中读取)
      3. 数组或迭代器,xy不能是字典。大多数复杂问题不能简化为输入矩阵和输出矩阵,可能需要多个输入特征矩阵。
    4. input_fn - 这是回调函数,必须返回featurestarget张量或张量词典。

      赞成

      1. 允许从任意来源(理论上)提供数据。
      2. 返回的特征和目标可以是字典,因此可以解决需要多次输入的复杂问题。
      3. CONS

        1. 仅找到使用read_batch_examples()read_batch_features()read_batch_record_features()等阅读文件的支持
        2. 不支持传递占位符和feed_fn以允许任意不需要队列的输入数据源。

相关讨论

  1. https://github.com/tensorflow/tensorflow/pull/4696#issuecomment-253632403
  2. How to use StreamingDataFeeder as contrib.learn.Estimator.fit()'s input_fn?
  3. 在1.中的讨论中,@ martinwick建议使用py_func克服对于input_fn的CONS,但是,我仍然不确定如何。任何建议,想法,欢迎蓝图。

0 个答案:

没有答案