以下のチュートリアルを読みながらTensorFlowの学習をしています
https://www.tensorflow.org/get_started/get_started
tf.estimator
Basic usage
のところに記載してあるプログラムの意味でよく分からない部分があります。
x_train = np.array([1., 2., 3., 4.])
y_train = np.array([0., -1., -2., -3.])
x_eval = np.array([2., 5., 8., 1.])
y_eval = np.array([-1.01, -4.1, -7, 0.])
ここでtrainという1つの従属変数と1つの目的変数のペア4個分の学習用データと、別名でevalという同様の評価用データを宣言しているのだと思います。
input_fn = tf.estimator.inputs.numpy_input_fn(
{"x": x_train}, y_train, batch_size=4, num_epochs=None, shuffle=True)
train_input_fn = tf.estimator.inputs.numpy_input_fn(
{"x": x_train}, y_train, batch_size=4, num_epochs=1000, shuffle=False)
eval_input_fn = tf.estimator.inputs.numpy_input_fn(
{"x": x_eval}, y_eval, batch_size=4, num_epochs=1000, shuffle=False)
ここでは入力用の関数を宣言しているようなのですが、batch_sieとnum_epochsの意味がよくわかりません。
もとのtrainとevalは4個のデータのため、batch_size=4というのはいわゆるバッチ学習、batch_size=1はオンライン学習、2or3の場合はミニバッチ学習、ということなのでしょうか?
また、batch_size=3は4を割り切れないためどういう内容のデータになるのか、batch_sizeを4より大きくした場合は4と指定したときと違うのでしょうか?
2.num_epochsの意味は何でしょうか?Noneと1000ではどういう違いが生まれるのでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/16 05:48
2017/11/16 08:22
2017/11/16 09:07
2017/11/16 09:09 編集
2017/11/16 09:19
2017/11/16 09:34
2017/11/16 10:29