1. ホーム
  2. python-3.x

[解決済み】TensorFlow:dataset.train.next_batchはどのように定義されていますか?

2022-01-19 14:54:07

質問

TensorFlowを学ぼうと思い、以下のサイトでサンプルを勉強しています。 https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynb

その後、以下のコードでいくつか質問があります。

for epoch in range(training_epochs):
    # Loop over all batches
    for i in range(total_batch):
        batch_xs, batch_ys = mnist.train.next_batch(batch_size)
        # Run optimization op (backprop) and cost op (to get loss value)
        _, c = sess.run([optimizer, cost], feed_dict={X: batch_xs})
    # Display logs per epoch step
    if epoch % display_step == 0:
        print("Epoch:", '%04d' % (epoch+1),
              "cost=", "{:.9f}".format(c))

mnistは単なるデータセットなので、具体的に何をするかというと mnist.train.next_batch の意味は?はどうだったのでしょうか? dataset.train.next_batch を定義しましたか?

ありがとうございます。

解決方法は?

その mnist オブジェクトが返されます。 read_data_sets() 機能 で定義されている tf.contrib.learn モジュールを使用します。このモジュールは mnist.train.next_batch(batch_size) メソッドが実装されています ここで のバッチを表す2つの配列のタプルを返します。 batch_size MNIST 画像のバッチを表し、2番目の画像は batch-size のラベルを作成した。

画像は2次元のNumPy配列として返され、そのサイズは [batch_size, 784] (MNISTの画像は784ピクセルあるので)、ラベルはサイズ [batch_size] (もし read_data_sets() が呼び出されたとき one_hot=False )、またはサイズの2次元NumPy配列 [batch_size, 10] (もし read_data_sets() が呼び出されたとき one_hot=True ).