使用 Keras 进行深度学习 - 编译模型
编译使用一个名为 compile 的方法调用执行。
model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')
compile 方法需要几个参数。loss 参数指定为 'categorical_crossentropy' 类型。metrics 参数设置为 'accuracy',最后我们使用 adam 优化器来训练网络。此阶段的输出如下所示 −
现在,我们准备将数据输入到我们的网络。
加载数据
如前所述,我们将使用 Keras 提供的 mnist 数据集。当我们将数据加载到我们的系统中时,我们会将其分为训练数据和测试数据。通过调用 load_data 方法加载数据,如下所示 −
(X_train, y_train), (X_test, y_test) = mnist.load_data()
此阶段的输出如下所示 −
现在,我们将了解已加载数据集的结构。
提供给我们的数据是大小为 28 x 28 像素的图形图像,每个图像包含 0 到 9 之间的单个数字。我们将在控制台上显示前十张图像。执行此操作的代码如下所示 −
# 打印前 10 张图像 for i in range(10): plot.subplot(3,5,i+1) plot.tight_layout() plot.imshow(X_train[i], cmap='gray', interpolation='none') plot.title("Digit: {}".format(y_train[i])) plot.xticks([]) plot.yticks([])
在 10 次计数的迭代循环中,我们在每次迭代中创建一个子图,并在其中显示来自 X_train 向量的图像。我们为来自相应 y_train 向量的每个图像添加标题。请注意,y_train 向量包含 X_train 向量中相应图像的实际值。我们通过调用两个方法 xticks 和 yticks 并使用 null 参数来删除 x 和 y 轴标记。运行代码时,您将看到以下输出 −
接下来,我们将准备数据以将其输入到我们的网络中。