4

次のように、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 ラベルをループして、各画像とそのラベルのデータを表示できるようにしたい個別に、最終的に画像を画面にプロットします。

4

2 に答える 2

1

@Nouiz は、train_set_x と train_set_y の両方の値を表示する正しい方法を指摘しています。問題は、セットアップされていない環境変数「DYLD_FALLBACK_LIBRARY_PATH」に関連していました。私のMacマシンにはいくつかのPythonがインストールされています。XCode の一部としてそこにあったインストール。python.org からインストールした別のインストールと、anaconda からインストールした 3 つ目のインストール。内部的には anaconda' python のみが theano のネイティブ C コードを実行できました。私の問題は、他のpythonインストールを使用したことが原因でした。これを修正した方法は、ホーム ディレクトリの .bash_profile のいくつかの行を編集することでした。デフォルトのバージョンが anaconda でインストールしたものであることを示し、環境変数 DYLD_FALLBACK_LIBRARY_PATH="/Users/Me/anaconda/lib" も設定しました。

于 2013-10-22T10:50:24.620 に答える