次のように、MNIST データセットを Theano 共有変数に正常にロードしました。
# Read MNIST dataset from gzipped file as binary
f = gzip.open('mnist.pkl.gz', 'rb')
# Store dataset into variable
train_set = cPickle.load(f)
# Close zipped file
f.close()
# Store data in Theano shared variable
train_set_x = theano.shared(numpy.asarray(train_set, dtype=theano.config.floatX)) # Data
train_set_y = theano.shared(numpy.asarray(train_set, dtype=theano.config.floatX)) # Labels
# Cast labels into int
train_set_y = theano.tensor.cast(train_set_y, 'int32')
私の質問は、train_set_x と train_set_y の両方でデータにアクセスする方法です。データ セット内の各画像は 28 * 28 ピクセルです。これは長さ 784 のベクトルで、ベクトル内のすべての要素が 0.0 から 1.0 までの値を表す float です。各ベクトル画像に関連付けられたラベルを表し、0 から 9 までの値であるため、ラベルは int にキャストされます。train_set_x マトリックス画像と train_set_y ラベルをループして、各画像とそのラベルのデータを表示できるようにしたい個別に、最終的に画像を画面にプロットします。