Tensorflow2.0笔记33——Keras 来搭建神经网络的“八股”套路

Tensorflow2.0笔记

本博客为Tensorflow2.0学习笔记,感谢北京大学微电子学院曹建老师

3. Keras 来搭建神经网络的“八股”

构建神经网络的“八股”套路:

​ A) import 引入 tensorflow 及 keras、numpy 等所需模块。

​ B) 读取数据集,课程中所利用的 MNIST、cifar10 等数据集比较基础,可以直接从 sklearn 等模块中引入,但是在实际应用中,大多需要从图片和标签文件中读取所需的数据集。

​ C)搭建所需的网络结构,当网络结构比较简单时,可以利用 keras 模块中的tf.keras.Sequential 来搭建顺序网络模型;但是当网络不再是简单的顺序结构,而是有其它特殊结构出现时(例如ResNet 中的跳连结构),便需要利用 class 来定义自己的网络结构。前者使用起来更加方便,但实际应用中往往需要利用后者来搭建网络。

​ D) 对搭建好的网络进行编译(compile),通常在这一步指定所采用的优化器(如 Adam、sgd、RMSdrop 等)以及损失函数(如交叉熵函数、均方差函数等),选择哪种优化器和损失函数往往对训练的速度和效果有很大的影响,至于具体如何进行选择,前面的章节中有比较详细的介绍。

​ E) 将数据输入编译好的网络来进行训练(model.fit),在这一步中指定训练轮数 epochs 以及 batch_size 等信息,由于神经网络的参数量和计算量一般都比较大,训练所需的时间也会比较长,尤其是在硬件条件受限的情况下,所以在这一步中通常会加入断点续训以及模型参数保存等功能,使训练更加方便,同时防止程序意外停止导致数据丢失的情况发生。

​ F) 将神经网络模型的具体信息打印出来(model.summary),包括网络结构、网络各层的参数等,便于对网络进行浏览和检查。

原文地址:https://www.cnblogs.com/wind-and-sky/p/14925547.html