为了显示mnist数据集图像,选用pylab库。
下面展示将mnist图像分成上下两部分并展示:
import pylab
import tensorflow as tf
pylab.mpl.rcParams['font.sans-serif'] = ['SimHei'] # 若不添加,中文无法在图中显示
mnist = read_data_sets('data/', one_hot=True)
print(np.shape(mnist.train.images))
batch_x, batch_y = mnist.train.next_batch(2)
print(np.shape(batch_x))
batch_x_up = batch_x[:, 0:392]
batch_x_down = batch_x[:, 392:]
print(np.shape(batch_x_up))
# print(batch_x_up[0])
# 打印图像
pylab.subplot(121) # 打印两张图左边的
im = batch_x_up[0]
im = im.reshape(-1, 28) # 把原本在mnist中为一行的数据变成二维的28列矩阵,-1:不用指定具体为多少行
pylab.title('up') # + str(outputval[0]))
pylab.imshow(im)
pylab.subplot(122) # 打印两张图左边的
im = batch_x_down[0]
im = im.reshape(-1, 28) # 把原本在mnist中为一行的数据变成二维的28列矩阵,-1:不用指定具体为多少行
pylab.title('down') # + str(outputval[0]))
pylab.imshow(im)
pylab.show()
subplot(nrows, ncols, plot_number)
plt.subplot作用是把一个绘图区域(可以理解成画布)分成多个小区域,用来绘制多个子图。
nrows和ncols表示将画布分成(nrows*ncols)个小区域,每个小区域可以单独绘制图形;plot_number表示将图绘制在第plot_number个子区域。
举例: createPlot = subplot(222),
表示画布分成(2*2=4)个小区域,并将图createPlot绘制在画布中的第二个子区域,也就是右上角位置。