http://deeplearning.net/tutorial/gettingstarted.html
に記載されている MNIST Dataset
http://deeplearning.net/data/mnist/mnist.pkl.gz
のデータ構造は次のようになっている。
[mnist.pkl] = [[train_set], [valid_set], [test_set]]
[*_set] = [[*_setの入力], [*_setの正解]]
[*_setの入力] = [[784個の浮動小数点の配列], ... ]
[*_setの正解] = [[0〜9の整数], ... ]
ここで、[784個の浮動小数点の配列]は28x28の手書き数字画像、
*_setはtrain_set、valid_set、test_setのいずれかである。
読み込んで端末に表示してみるコード(load.py)は次の通り。
import cPickle, gzip, numpy, sys
if len(sys.argv) != 2:
quit()
data_index=int(sys.argv[1])
f=gzip.open('../data/mnist.pkl.gz','rb')
train_set, valid_set, test_set=cPickle.load(f)
train_set_x, train_set_y=train_set # setの中身が
for i in range(data_index,data_index+1):
for y in range(0,28):
for x in range(0,28):
if train_set_x[i][y*28+x]<0.5:
sys.stdout.write(" ")
elif train_set_x[i][y*28+x]<0.8:
sys.stdout.write("+")
else:
sys.stdout.write("*")
sys.stdout.write("\n")
print "correct =",train_set_y[i]
print "--------------------------------"
8番目のデータを表示する実行例は次の通り。
$ python load.py 7
******+
+**********+
+************
***+++++****
***+
***+
+***
*****+
+++*****
*********+
**********
+**
**
**
***
+* ****
***++++++***+
***********+
+*******+
**+
correct = 3
--------------------------------
データを読めていることが確認できる。
0 件のコメント :
コメントを投稿