The Hello World of Deep Learning with Neural Networks

发布时间 2023-11-28 17:43:18作者: 跑调的弦

The Hello World of Deep Learning with Neural Networks

dlaicourse/Course 1 - Part 2 - Lesson 2 - Notebook.ipynb at master · lmoroney/dlaicourse (github.com)

编写这样一个函数的代码:

float hw_function(float x){
    float y = (2 * x) - 1;
    return y;
}

Imports

导入 TensorFlow 并将其称为 tf,以方便使用。
导入一个名为 numpy 的库,它可以帮助我们轻松快速地将数据表示为列表。
导入kears(将神经网络定义为一组序列层的框架叫做 keras

import tensorflow as tf
import numpy as np
from tensorflow import keras

Define and Compile the Neural Network

创建最简单的神经网络。它有 1 层,该层有 1 个神经元,其输入形状只是 1 个值。

model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])

接下来编译神经网络。编译时,我们必须指定两个函数,一个是损失函数LOSS,另一个是优化器函数OPTIMIZER。
LOSS 函数会将猜测的答案与已知的正确答案进行对比,并衡量其结果的好坏。
然后,它会使用 OPTIMIZER 函数再做一次猜测。根据损失函数的结果,它将尝试使损失最小化。这时,它可能会得出 y=5x+5 这样的结果,虽然仍然很糟糕,但更接近正确结果(即损失更小)。
它会在许多EPOCHS里重复这样的计算 。但首先,我们要告诉它如何使用 "平均平方误差(MEAN SQUARED ERROR) "来计算损失函数loss,以及如何使用 "随机梯度下降(STOCHASTIC GRADIENT DESCENT) "来计算优化器。

model.compile(optimizer='sgd', loss='mean_squared_error')