0

Estimator.fit()函数也可以作为参数

  • ( x, y, and batch_size) where xandy可以是 numpy 数组或迭代器。

    优点

    1. 便于使用。
    2. 允许从任意来源提供数据,只要问题可以分解为xy

    缺点

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

    优点

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

    缺点

    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. 如何使用 StreamingDataFeeder 作为 contrib.learn.Estimator.fit() 的 input_fn?

在 1. 的讨论中,@martinwick 建议使用py_func来克服 input_fn 的缺点,但是,我仍然不确定如何。欢迎任何建议、想法、蓝图。

4

0 回答 0