tensorflow学习笔记01
有错误还请各位指正!
模型的建立与编译训练测试
Sequential模型
调用:tf.keras.Sequential()
作用:序列模型
使用:
1 | # 方法一: |
函数API式
适合多输入的模型
Dense层
很简单的神经网络层,只需看安排好它的激活函数
默认激活函数为f(x)=ax+b;
tf.keras.layers.Dense(输出数据的维度, 输入数据的维度:input_shape=(1,), 激活函数:activation=’’, 名字:name=’’)
Flatten层
将多维变1维
多层感知器
具有隐藏层的神经网络
编译过程
调用:model.compile(optimizer='',loss='',metrics=[])
参数:
optimizer:优化器(优化方法)
loss:损失函数
metrics:指标
实例:
1 | model.compile(optomizer=tf.keras.optimizers.Adam(), |
训练过程
调用:
1 | model.fit(# 输入样例, |
参数:
epochs:训练次数
batch_size:数据切分成大小为batch_size的批次
validation_data:测试数据
callbacks:设置回调函数
预测
model.predict()
机器学习知识基础
梯度下降
emmmmm,挺常见的懒得说了
线性回归
连续的值
逻辑回归
给出‘是’或‘否’
sigmoid激活函数
损失函数:交叉熵(binary_crossentropy)
多回归(多分类问题)
softmax激活函数
输出概率和为1
多分类损失函数
调用:tf.keras.losses.
sparse_categorical_crossentropy:连续的编码,n个东西分别编为0~(n-1)
categorical_crossentropy:读热编码
顺序编码转换为读热编码
tf.keras.utils.to_categorical()
学习速率
就是找下一个参数的步长
优化器
调用:tf.keras.optimizes.
选择下一个参数的办法,常见的有最小二乘法
网络容量
与网络中的可训练参数成正比
网路容量越大训练速度、难度越大;越容易产生过拟合。
超参数
搭建神经网络的过程中需要我们自己选择的参数
模型优化
提高拟合能力
提高网络容量,
如果单纯增加神经元的个数效果不是很好
提高层可大大提高网络的拟合能力
抑制过拟合
Dropout:减少神经元的共性关系
参数选择原则
首先开发一个过拟合的模型:
- 添加更多的层
- 让每一层变得更大
- 训练更多的轮次
然后抑制过拟合:
- dropout
- 正则化
- 图像增强
- 增加训练数据(最好的办法)
再次,调节超参数:
- 学习速率
- 隐藏层单元数
- 训练轮次
- 本文作者: Doted Wood
- 本文链接: http://example.com/2022/01/17/tensorflow/tensorflow-2-0学习笔记1/
- 版权声明: 版权归博主所有,转载请说明来源