定义模型结构-可视化训练模型过程day03
定义模型结构:单层单个神经元组成的神经网络
操作步骤:
- 初始化一个神经网络模型
- 为神经网络模型添加层
- 设计层的神经元个数和inputShape(输入形状)
// 连续的模型
const model = tf.sequential(); // 全链阶层 /* dense:全链阶层 units:神经元个数1,单个足够用 inputShape: 1维 */ model.add(tf.layers.dense({ units:1, inputShape: [1] }));
损失函数,均方误差MSE
操作步骤:
-
跟着Google机器学习速成教程理解损失函数与均方误差;
(机器学习速成教程)https://developers.google.cn/machine-learning/crash-course/descending-into-ml/training-and-loss -
在Tensorflow.js中设置损失函数
// 损失函数
/*
meanSquaredError均方误差
*/
model.compile({ loss: tf.losses.meanSquaredError });
优化器:随机剃度下降SGD
操作步骤:
model.compile({ loss: tf.losses.meanSquaredError, optimizer: tf.train.sgd() });
训练模型并可视化训练过程
- 将训练数据转为Tensor
- 训练类型
- 使用tfvis可视化训练过程
配置package.json(适配async await)
"browserslist": ["last 1 Chrome version"]
` const inputs = tf.tensor(xs); // 将数据转为tensor
const labels = tf.tensor(ys);
await model.fit(inputs, labels, {
batchSize: 1, // 样本
epochs: 100, // 训练几次
callbacks: tfvis.show.fitCallbacks(
{ name: '训练过程' },
['loss']
)
});`