使用pylab需要:
import matplotlib.pylab as plt
或者直接:
import pylab as plt
样例1:
plt.figure(figsize=(12, 5.5)) # 宽800 长600
plt.subplot(121) # 一行两列,这是第一个图
plt.plot(epochs, acc, 'r', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.legend()
# plt.figure() # plt.figure()是新建一个画布。如果有多个图依次可视化的时候,需要使用,否则所有的图都显示在同一个画布中了。
plt.subplot(122)
plt.plot(epochs, loss, 'r', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.savefig('data3/Kuaizi_Classification1_loss={0:.2f}_accur={1:.2f}_epoch={2}.jpg'.format(val_loss[-1], val_acc[-1], epochs[-1]))
# 不在plt.show前保存图片就会使保存的图片空白。':.2f'保留两位小数
plt.show()
样例2:
from keras.datasets import mnist
from keras.utils import to_categorical
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1))
train_images = train_images.astype('float32') / 255
test_images = test_images.reshape((10000, 28, 28, 1))
test_images = test_images.astype('float32') / 255
plt.subplot(121) # 一行两列,这是第一个图
plt.imshow(test_images[0].squeeze() * 255) # squeeze 去掉多余的维度,比如这里是[28,28,1]变为[28,28]
plt.subplot(122) # 一行两列,这是第二个图
plt.imshow(test_images[1].squeeze() * 255)
plt.show()