1

私は最近tensorflow.contrib.learn(skflow) ライブラリを使い始めましたが、とても気に入っています。ただし、 の使用に関する問題に直面してEstimatorいます。フィット関数は次のいずれかを使用します

  1. ( XY、およびbatch_size) - このアプローチの問題は、エポック数の指定と任意のデータ ソースの許可をサポートしていないことです。
  2. input_fn-さらに、エポックを設定すると、トレーニングのソース(私の場合はデータベースから直接取得されます)の柔軟性が大幅に向上します。

ファイルを読み取るinput_fnを作成できることはわかっていますが、ファイルを扱うことに興味がないため、次の関数は役に立ちません-

  • tf.contrib.learn.read_batch_examples
  • tf.contrib.learn.read_batch_features
  • tf.contrib.learn.read_batch_record_features

理想的には、 StreamingDataFeederを input_fn として使用したいと考えています。これを達成する方法はありますか?

4

1 に答える 1

0

StreamingDataFeederx/ yto fit/ predict/ evaluateofとしてイテレータを提供するときに使用されますEstimator

例:

x = (np.array([i]) for i in xrange(10**10)) # use range for python >=3.0
y = (np.array([i + 1]) for i in xrange(10**10))
lr = tf.contrib.learn.LinearRegressor(
    feature_columns=[tf.contrib.layers.real_valued_column('')])

# only consumes 1000*10 values from iterators.
lr.fit(x, y, steps=1000, batch_size=10)

データのフィードに使用する場合はinput_fn、グラフ操作を使用してデータを読み取り/処理する必要があります。たとえば、データを生成する C++ 操作を作成し (ポートをリッスンするか、データベース Op から読み取ることができます) Tensor、. これは主にファイルからデータを読み取るのに適していますが、他のリーダーも同様に実装できます。

于 2016-10-05T18:45:17.487 に答える