tensorflow学习:准备训练数据和构建训练模型

举报
黄生 发表于 2021/05/06 08:46:27 2021/05/06
【摘要】 数据不是收集的,是自己生成的%matplotlib inline这个是为了让在jupyter在浏览器里能够显示图像。生成y=2x+1的随机数据,数据加背景噪声限值0.4生成等差数列,100个x_data=np.linspace(-1,1,100)y_data=2*x_data+1.0+np.random.randn(*x_data.shape)*0.4*号是把shape元组拆成一个个参数之前...

数据不是收集的,是自己生成的

%matplotlib inline

这个是为了让在jupyter在浏览器里能够显示图像。

生成y=2x+1的随机数据,数据加背景噪声限值0.4

生成等差数列,100个

x_data=np.linspace(-1,1,100)
y_data=2*x_data+1.0+np.random.randn(*x_data.shape)*0.4

*号是把shape元组拆成一个个参数

之前设置了伪随机数种子 np.random.seed(5)

画散点图:plt.scatter(x_data,y_data)

画上帝视角已学习到的的线性函数直线:

plt.plot(x_data,2*x_data+1.0,color='red',linewidth=3)

2021-03-21 21-55-38 的屏幕截图.png

先定义训练数据的占位符,定义了2个,

1个是特征值x,1个是标签值y

然后定义模型函数,这个函数有3个参数,

1个就是上面说的x,还有2个是参数,分别是w和b,就是2个参数:斜率和位移

而上面的2个参数,要用tf.Variable来声明来创建变量,它是会变的,在训练中学习到的,所以给它的初值是多少是无所谓的

然后就是怎么样来训练模型了

训练模型就是一个不断迭代不断改进的过程

2021-03-27 11-40-43 的屏幕截图.png


首先是训练参数,也就是超参,一个是迭代次数train_epochs,这里设置为10,根据复杂情况,可能上万次都可能的。一个是学习率learning_rate,这里默认为0.05

下一步定义损失函数,用于描述预测值与真实值之间的误差,从而指导模型收敛方向,这个非常重要,这个就好像是你在学习的过程中,有一个贴心的小蜜,总能在合适的时候告诉你说,亲你这里不对,亲你那里错了,这样你不会在错误的方向越走越远碰到南墙才回头

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。