tensorflow笔记系列文章均参考自中国大学Mooc上北京大学软件与微电子学院曹建老师的《Tensorflow笔记2》课程。曹建老师讲的非常棒,受益良多,强烈建议tensorflow初学者学习。
使用keras搭建神经网络通常有以下六步:
- import 相关模块
- train, test 说明训练集和测试集
- model = tf.keras.models.Sequential 搭建网络结构,逐层描述每层网络
- model.compile 配置训练方法,例如优化器、损失函数、评测指标
- model.fit 执行训练过程
- model.summary 打印出网络的结构和参数统计
Sequential()用法
Sequential()
可以认为是一个容器,里面封装了一个神经网络的结构,在Sequential()
要描述从输入层到输出层每一层的网络结构,语法如下:
model = tf.keras.models.Sequential([网络结构])
网络结构举例:
拉直层:tf.keras.layers.Flatten()
,这一层不含计算,只是将输入数据拉直变成一维数组
全连接层:tf.kears.layers.Dense(神经元个数,activation="激活函数",kernel_regularizer=哪种正则化)
,其中激活函数可选:relu、softmax、sigmoid、tanh,正则化可选:tf.kears.regularizers.l1()、tf.keras.regularizers.l2()
卷积层:tf.keras.layers.Conv2D(filters=卷积核个数,kernel_size=卷积核尺寸,strides=卷积步长,padding="valid"或者"same")
LSTM层:tf.keras.layers.LSTM()
compile()用法
compile指定网络的优化器、损失函数以及评测指标,语法如下: