实验前

import tensorflow as tf
import numpy as np
#create data
x_data=np.random.rand(100).astype(np.float32)#训练样本
y_data=x_data*0.1+0.3#求参数(隐去真实参数和函数式)怎么知道样本符合的这是线性函数呢?如果假设样本符合的是二次函数呢?能求出参数值吗?
###create tensorflow structure start###
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))#随机参数初值
biases = tf.Variable(tf.zeros([1]))
y=Weights*x_data+biases#按随机参数拟合的y值一开始和y_data真值差很大
loss = tf.reduce_mean(tf.square(y-y_data))#损失值
optimizer = tf.train.GradientDescentOptimizer(0.5)
###create tensorflow structure end###
train = optimizer.minimize(loss)#训练
init = tf.initialize_all_variables()#初始化
sess = tf.Session()
sess.run(init)
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(Weights), sess.run(biases))

实验后:Weights、biases初始值为随机值,但是随着迭代它们会趋近于真值。条件为loss最小。

import tensorflow as tf
import numpy as np
#create data
x_data=np.random.rand(100).astype(np.float32)
y_data=x_data*0.1+0.3
###create tensorflow structure start###
Weights = tf.Variable(tf.random.uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))
y=Weights*x_data+biases
loss = tf.reduce_mean(input_tensor=tf.square(y-y_data))
optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.5)
###create tensorflow structure end###
train = optimizer.minimize(loss)
init = tf.compat.v1.initialize_all_variables()
sess = tf.compat.v1.Session()
sess.run(init)
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(Weights), sess.run(biases))

代码对比可看出代码前后的变化

https://blog.csdn.net/u012223913/article/details/79097297

最新文章

  1. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
  2. PHP过滤外部链接及外部图片 添加rel="nofollow"属性
  3. flot_js_$用法解释
  4. [转载]C#中的WebBrowser控件的使用
  5. 启用aspnet
  6. javascript 内置对象 第17节
  7. mongodump备份数据库
  8. postgresql 修改属性
  9. Struts2(六) 用Struts完成客户列表显示
  10. PHP实现部分字符隐藏
  11. ul li 实现层级列表显示
  12. Android程序backtrace分析方法
  13. [Ting's笔记Day4]将Ruby on Rails项目部署到Heroku
  14. CSU 2005 Nearest Maintenance Point(最短路+bitset)
  15. hive之权限问题AccessControlException Permission denied: user=root, access=WR
  16. LogisticRegression in MLLib (PySpark + numpy+matplotlib可视化)
  17. 【Algorithm】插入排序
  18. Tutorial: Reverse debugging with GDB 7 (转载)
  19. SignalR 循序渐进(五)多个Hub服务器下的消息订阅
  20. Windows 配置安卓环境变量

热门文章

  1. 在CentOS 8 Linux中安装使用Cockpit服务器管理软件
  2. Linux MFS分布式文件系统介绍和安装
  3. etcd集群添加节点
  4. Selenium+PhantomJs 爬取网页内容
  5. [转帖].NET Core单文件发布静态编译AOT CoreRT
  6. BZOJ 1257 余数之和 题解
  7. centos7配置fastdfs集群(5.09)
  8. 关于echarts 重绘/图表切换/数据清空
  9. RabbitMQ从安装到使用
  10. poj 1915 KnightMoves(bfs)