我正在經歷the MNIST tensorflow tutorial,並想知道,該數據集是如何進行預處理。特別是,我認爲圖像通常具有整數值來表示像素的強度。例如,在0到255範圍內是我的想法。但是,當我檢查其中一個像素值時,我獲得了浮點值,這與我所期望的不同。檢查矢量的末端:在MNIST教程中如何預處理MNIST數據集?
0.80784321,0.96470594,0.6156863,0。,0,0 ,0.1,0.1,0.1,0.1, 0。,0,0,0 。,0,0 ,0.1,0.1,0.1,0.1, 0。,0,0,0,0,0 ,0.1,0.01568628,0.45882356,0.27058825, 0。,0,0,0,0,0 ,0.1,0.1,0.1,0.1, 0。,0,0,0,0,0 。,0。,0,0,0,0 ,0.1,0.1,0.1,0.1, 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)
當我這樣做,我得到了什麼人是不規範的載體,即他們沒有沒有平均0也不標準dev的1的平均一個所述:
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數據集。