1

私はthe MNIST tensorflow tutorialを経由していて、データセットがどのように前処理されているのか不思議でした。特に、画像は通常、ピクセルの輝度を表す整数値を持つと考えました。たとえば、0〜255の範囲で私が思ったものでした。しかし、私がピクセル値の1つを調べると、私は浮動小数点値を得ました。これは私が期待していたものとは異なるものでした。MNISTデータセットはどのようにMNISTチュートリアルで事前処理されていますか?

0.80784321、0.96470594、0.6156863、0、0、 0、0、0、0、0、 0、0、0、0:ベクトルの終わりを確認。、0.、 0、0、0、0、0、 0、0、0、0、0、 0、0、0.01568628、0.45882356、0.27058825、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、0 。、0、0、0、0、 0、0、0、0、0、 0、0、0、0、0、0 、 0.,0、0.、0. 0、0、0、0])

多分された各ベクトルは、私は単位ノルムになるように正規化されたかどうかを確認するには

from numpy import linalg as LA 
LA.norm(X_train[0,:]) 
10.20854430695328 

なく見ることができるように、のノルムベクトルは1より大きいです。

したがって、私は思ったようにスケーリングされていない可能性があり、おそらくZ = X - mu/ stdのような統計的正規化を使ってスケーリングされたと考えました。その仮説をチェックするために、私はthe scipy tutorialを使って画像を拡大しました。私は何を私が得たことは、彼らがした。すなわち、標準化されていなかったベクトルた、ということでした場合

X_train.mean(axis=0) 

X_train.std(axis=0) 

:このために私は、コマンドを使用してデータと標準偏差の平均値をチェックします平均1 1.平均0でも標準DEVを持って言っていない。

 1.48377906e-04, 3.16577558e-04, 4.71443878e-04, 
    7.53226424e-04, 1.28991095e-03, 1.64713022e-03, 
    1.94303042e-03, 2.20263827e-03, 2.67707680e-03, 
    2.33504470e-03, 1.88178264e-03, 1.35629241e-03, 
    7.74688105e-04, 3.29839591e-04, 1.72834236e-04, 
    6.32442098e-05, 5.16221064e-05, 8.55615031e-06, 
    0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 
    0.00000000e+00]) 

とstd一つは言った:

 9.73316794e-03, 1.48564994e-02, 1.79109386e-02, 
    2.39294057e-02, 2.96610268e-02, 3.52616872e-02, 
    3.74964883e-02, 3.94864147e-02, 4.46018863e-02, 
    4.14498684e-02, 3.67526868e-02, 3.19768868e-02, 
    2.35492900e-02, 1.51583259e-02, 1.10631365e-02, 
    6.06049238e-03, 6.49226612e-03, 1.41963927e-03, 
    0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 
    0.00000000e+00]) 

ので、私が知りたいと思った、私は私が持っていたすべての可能性を使い果たし以来tensorflowチュートリアルで前処理MNISTデータセットがありますか。

答えて

0

あなたはベクトル内のデータを持っている場合、のはmnistそれを呼びましょう、あなたは最大値が何であるかを確認することができます。

numpy.amax(mnist) 

1を得たならば、このようにベクター内のすべての値は、0と1の間であることを意味し、エルゴは、標準化。

関連する問題