TensorFlow 2.0学习日志
Day 1 熟悉使用tf.keras来搭建模型
1. 模型搭建
模型的搭建主要使用 keras.models.Sequential()
包来完成
from tensorflow import keras
model = keras.models.Sequential()
keras.layers
中集成了大部分我们日常需要的神经网络层,因此利用keras.layers
库我们可以非常方便地搭建神经网络模型,下面是一个简单的mnist手写体识别网络示例,输入是[28,28]的灰度图片。
model.add(keras.layers.Flatten(input_shape=[28,28]))
model.add(keras.layers.Dense(300, activation = "relu"))
model.add(keras.layers.Dense(100, activation = "relu"))
model.add(keras.layers.Dense(10, activation = "softmax"))
上面的代码段中,因为使用到的层都是全连接层,所以在输入的时候我们需要利用keras.layers.Flatten
层把28*28的灰度图片展平成一维的向量,再输入到全连接层当中。keras.layers.Dense
层中第一个输入代表的是隐层个数,也是输出的channel数,第二个输入是激活函数的名称。
- Tips1:relu的作用是 y = m a x ( 0 , x ) y= max(0,x) y=max(0,x),即当 x x x小于 0 0 0时,神经元的激活作用被截断,但当 x x x大于0时,神经元的作用能够被激活
- Tips2: softmax的作用是把向量转化为概率分布
下面展示利用keras搭建模型的第二种写法
model = keras.models.Sequential([
keras.layers.Flatten(input_shape=[28