2017-11-22 13 views
0

を表示するとき、私は機械学習について学ぶために、Mnistデータセットで働いている、と今のように私はMnistデータセット内の最初の数字を表示しようとしていますイメージとして、私は問題に遭遇しました。イメージ - エラー画像

Iは、各列がデータセット内の数字であり、寸法784x10000有するマトリックスを有します。私はMnistデータセットがテキストファイルの形をとっていたため、自分自身でマトリックスを作成しました。これは、それ自体私にかなりの問題を引き起こしましたが、それはそれ自体の問題です。

以下MN_train行列は、私の大きな784x10000行列です。だから、私が下にしようとしているのは、私のイメージを表示するために、28x28のマトリックスを埋めることです。

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 

grey = np.zeros(shape=(28,28)) 
k = 0 

for l in range(28): 
    for p in range(28): 
     grey[p,l]=MN_train[k,0] 
     k = k + 1 
print grey 
plt.show(grey) 

しかし、私は画像を表示しようとすると、私は次のエラーを取得する:複数の要素を持つ配列の

真理値があいまいです。 a.any()またはa.all()を使用してください

私が期待するように、5番のように見えない画像プロットが続きます。

は、私が見落としているものがある、またはこれは、テキストファイルの私の操作は、MN_train行列を構築するためには、エラーになったことを教えていますか?

答えて

1

あなたはshowに配列を供給するので、あなたが得るエラーです。 showは、ブール値の引数hold=TrueまたはFalseを1つだけ受け入れます。
画像プロットを作成するには、imshowを使用する必要があります。

plt.imshow(grey) 
plt.show() # <- no argument here 

ループはかなり効率が悪いことにも注意してください。入力列の配列を変更するだけです。

完全なコードは、私たちの@ImportanceOfBeingErnestことを指していただき、ありがとうございます

import numpy as np 
import matplotlib.pyplot as plt 

MN_train = np.loadtxt(...) 

grey = MN_train[:,0].reshape((28,28)) 

plt.imshow(grey) 
plt.show() 
+0

次のようになります! は今、私は確かに、テキストファイルの私の操作は、その後仕事に誤り笑 バックをもたらしていることがわかります。 –

関連する問題