机器学习 tensorflow 2 的hello world

我们学习什么都是学习一个最简单例子开始,有时就叫hello world。

我们学basic, c,c++,python,最简单的程序就是打印显示一个hello world。

我这里参考 https://codelabs.developers.google.com/codelabs/tensorflow-lab1-helloworld 

写一个最简单的tensorflow 程序,演示其基本结构。

在开始本文前,你应该在python 上安装好了tensorflow,没有的话先完成好:tensorflow 2 的安装

1:前言

在开始代码前,先理解下机器学习tensorfow 2 的基本概念。一般编程就是输入数据,根据规则,得出结果数据。机器学习有什么不同呢?有输入数据,也有输出数据,我们要寻找规则。然后根据规则预测新的数据结果。

2:机器学习

传统编程:

机器学习:

机器学习目的:

 3:代码

最简代码的目的是根据下面数据,得出规则。

X:

-1

0

1

2

3

4

Y:

-2

1

4

7

10

13

输入基本库

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

 定义和编译一个神经网络

最简单的神经网路,1层,1个神经元,一个输入(sharp)

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

接下来我们将编写代码来编译我们的神经网络。 当我们这样做时,我们必须指定两个函数,一个“loss”和一个“optimizer”。

`mean squared error` 作为 loss  `stochastic gradient descent` (sgd) 作为 optimizer。不懂数学意义也没关系。

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

提供数据

xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-2.0, 1.0, 4.0, 7.0, 10.0, 13.0], dtype=float)

培训神经网络

model.fit(xs, ys, epochs=500)

使用模型,预测数据

print(model.predict([10.0]))

程序介绍完成了,给个完整代码

# 导入库
import tensorflow as tf
import numpy as np
from tensorflow import keras
#定义和编译一个神经网络
model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
# 编译 并指定 loss optimizer
model.compile(optimizer='sgd', loss='mean_squared_error')
#提供数据
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
ys = np.array([-2.0, 1.0, 4.0, 7.0, 10.0, 13.0], dtype=float)
#培训
model.fit(xs, ys, epochs=500)
#预测
print(model.predict([10.0]))

运行结果

左边代码,右边运行结果,最后预测值为: 30.996,非常接近线性预估值31

发布了131 篇原创文章 · 获赞 112 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/leon_zeng0/article/details/102714939