tensorflow学习——01一个神经元的网络

题目:

已有一组数据

X= -1,  0,  1,  2,  3,  4

Y= -3,  -1,  1,  3,  5,  7

如何根据X得到Y

 

完成代码

 

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

model=keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
#layters表示一层神经元
#units=1表示这一层中只有一个神经元
#input_shape=[1] 表示输入值只有一个就是X
model.compile(optimizer='sgd',loss='mean_squared_error')
#optimizer表示根据什么来优化
#loss损失函数  mse=(1/n)*(所有数据的(真实值-预测值)的平方和)

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

model.fit(xs,ys,epochs=5000)
#输入值 输出值 训练次数

print(model.predict([10.0]))

 

上面代码我是使用jupyter notebook来进行实现的,如果想要有代码自动提示需要先运行这行代码

 %config IPCompleter.greedy=True

在训练的过程中,发现loss的值越来越小,说明还可以

实际x和y的对应关系是y=2x-1,当我们预测x=10的时候给出的结果是[[18.977278]]说明效果还是不错的

 

 

 

posted @ 2021-10-13 18:48  白菜茄子  阅读(44)  评论(0编辑  收藏  举报