一:pyplot.subplot绘制MNIST手写数字多个子图
from keras.datasets import mnist from matplotlib import pyplot # load data (X_train, y_train), (X_test, y_test) = mnist.load_data() # create a grid of 3x3 images for i in range(0, 9): pyplot.subplot(330 + 1 + i) pyplot.imshow(X_train[i], cmap=pyplot.get_cmap('gray')) # show the plot pyplot.show()range(0, 9):取前九张图片 pyplot.subplot(330 + 1 + i):三行三列,第一个图放在左上角,依次排列,共放九个。
330改为340,为三行四列,见下图:
pyplot.subplot(340 + 1 + i)二:数据增强-随机转动90°
from keras.datasets import mnist from keras.preprocessing.image import ImageDataGenerator from matplotlib import pyplot # load data (X_train, y_train), (X_test, y_test) = mnist.load_data() # reshape to be [samples][width][height][channels] X_train = X_train.reshape((X_train.shape[0], 28, 28, 1)) X_test = X_test.reshape((X_test.shape[0], 28, 28, 1)) # convert from int to float X_train = X_train.astype('float32') X_test = X_test.astype('float32') # define data preparation datagen = ImageDataGenerator(rotation_range=90) # fit parameters from data datagen.fit(X_train) # configure batch size and retrieve one batch of images for X_batch, y_batch in datagen.flow(X_train, y_train, batch_size=9): # create a grid of 3x3 images for i in range(0, 9): pyplot.subplot(330 + 1 + i) pyplot.imshow(X_batch[i].reshape(28, 28)) # show the plot pyplot.show() break