1、这个是从.npz 到x_train,y_train,至于从jpg到npz以后再总结:
(x_tain,y_train),(x_test,y_test) = mnist.loda_data('mnist.npz')
if K.image_data_format() == 'channels first':
x_train = x_train.reshape([batch_size,1,img_rows,img_cols]) #step 1
x_test = x_test.reshape([batch_size,1,img_rows,img_cols])
input_shape = [1,img_rows,img_cols]
else:
x_train = x_train.reshape([batch_size,img_rows,img_cols,1])
x_test = x_test.reshape([batch_size,img_rows,img_cols,1])
input_shape = [img_rows,img_cols,1]
x_train = x_train.astype('float32') #step 2 GPU对单精度的计算性能更好
x_test = x_test.astype('float32') #更正,第一遍写的这两块的先后顺序弄反了
x_train /=255
x_test /=255 #step 3
y_train = keras.utils.to_catagorical(y_train,num_classes)
y_test = keras.utils.to_categorical(y_test,num_classes)
得到了x_train ,y_train 就可以作为model.fit(x_train,y_train )的输入了
逻辑:以模型为中心,首先了解模型需要的输入,Keras 这里的model.fit()方法 就是需要x_train,y_train,shape 是 [总样本数,img_rows,img_cols,通道数],注意这个方法里的是总样本数,要实