1 インポートSYS、OS 2 sys.path.append(os.pardir) 3 インポートNPとしてnumpyの 4 から dataset.mnist インポートload_mnist 5 から PILのインポートイメージ 6 7 DEF (IMG)img_show: 8 pil_img = Image.fromarray(NPします。 UINT8(IMG)) 9 pil_img.show() 10 11(x_train、t_train)、(x_test、t_test)= load_mnist(平ら= 真、 12正規= 偽) 13 IMG = x_train [0] 14ラベル=t_train [0] 15 印刷(ラベル)#5 16 17 プリント(img.shape) #(784) 18である IMG = img.reshape(28、28) #は元のサイズに画像の形状 。19 プリント(IMG。形状) #(28、28)、 20は 21である img_show(IMG)
Mnistは、コードが実行され、トレーニング画像が最初に表示され、画像を表示します。sys.path.append親ディレクトリをインポートする(os.pardir)、最初の呼び出しのload_mnist機能、あなたはMNISTデータセットをダウンロードしたいので、私たちは、ネットワークに接続する必要があります。目以降の呼び出しはでき、したがって、処理時間が非常に短いローカル(漬物ファイル)に格納されたファイルを読み込むだけです。
load_mnist機能に「(トレーニング画像、トレーニングラベル)、(テスト画像は、テスト・ラベル)」が読み取られたデータのMNSTとして返されます。あなたも好きなことができます
load_mnist(=真、one_hot_label = Falseのフラット化、=真の正規化)
このように、三つのパラメータを提供します。最初のパラメータは、正規化入力画像を設定するには0.0〜1.0の値に正規化されるかどうか。このパラメータに設定されている場合はFalseを、入力画像の画素255に元の0のままです。第2のパラメータは、平坦(一次元データへの)入力画像を開始するかどうかを設定します。このパラメータに設定されている場合はFalseを、入力画像である1×28×28 3次元配列;に設定されている場合はTrue、入力画像は、784個の素子のアレイによって格納されます。第三のパラメータラベルを保存するか否かを設定one_hot_label ワンホットは、(示してワンホット表現)。ワンホット表現は、正解であるように、配列の残りの部分は、全て0であり、ラベルである[0,0,1,0,0,0,0,0,0,0]そう。ときone_hot_labelがあるFalseのとき;、知識が正解7,2とてもシンプルなラベルを保存したいone_hot_labelがに真、ラベルとして保存されているワンホット表現。
Pythonは、この便利な機能を酸洗ています。この機能を使用すると、オブジェクト・ファイルに実行中のプログラムを保存することができます。あなたが保存したピクルスファイルをロードする場合は、プログラムを実行する前に、オブジェクトがすぐに復元することができます。データを読み出すためMNISTはセット 内部の機能はまた、(リード第二以降の回で)ピックル関数を使用します。ピクルスの機能を使用して、あなたが効率的に準備作業のMNISTデータを完了することができます。
load_mnist()
ことに留意すべきでflatten=True
読み取られた画像は、1つの(一次元)numpyの配列の形で記憶されている場合。このように、画像が表示され、それは28画素×元の形状画素に28する必要があります。あなたができ 方式、形状変化numpyのアレイの所望の形状パラメータを指定します。さらに、また、PIL numpyのアレイを用いて画像データに変換されたデータオブジェクトを保存する必要があり、この変換は、によって処理され 完成しました。 reshape()
Image.fromarray()
= IMG [x_train 0 ] [0]データ784の最初の列を示しx_trainので、マトリクスの728行#x_train形状である(6000,784)、すなわち、6000
= t_trainラベル[ 0 ] #t_train形状、すなわち、行またはデータ6000のカラム、(6000)であり、[0]の値が5である第一データであるのでt_train