使用 Keras 进行深度学习 - 编译模型


编译是使用一个名为compile的方法调用来执行的。

model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam')

编译方法需要几个参数。损失参数被指定为类型'categorical_crossentropy'。指标参数设置为“准确度”,最后我们使用adam优化器来训练网络。此阶段的输出如下所示 -

编译方法

现在,我们准备将数据输入到我们的网络中。

加载数据中

如前所述,我们将使用Keras 提供的mnist数据集。当我们将数据加载到系统中时,我们会将其分为训练数据和测试数据。通过调用load_data方法加载数据,如下所示 -

(X_train, y_train), (X_test, y_test) = mnist.load_data()

此阶段的输出如下所示 -

加载数据中

现在,我们将了解加载的数据集的结构。

提供给我们的数据是大小为 28 x 28 像素的图形图像,每个图像包含 0 到 9 之间的单个数字。我们将在控制台上显示前十个图像。这样做的代码如下 -

# printing first 10 images
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向量中对应图像的实际值。我们通过使用 null 参数调用xticksyticks两个方法来删除 x 和 y 轴标记。当您运行代码时,您将看到以下输出 -

检查数据点

接下来,我们将准备数据以将其输入到我们的网络中。