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]]说明效果还是不错的
作者:孙建钊
出处:http://www.cnblogs.com/sunjianzhao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。