平台信息:
PC:ubuntu18.04、i5、anaconda2、cuda9.0、cudnn7.0.5、tensorflow1.10、GTX1060

作者:庄泽彬(欢迎转载,请注明作者)

说明:感谢tensorflow社区,本文是在社区的学习笔记,生成随机的三维数据,之后用平面去拟合。

相关代码:

 #!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Thu Oct 11 19:54:15 2018 @author: zhuang
""" import tensorflow as tf
import numpy as np #生成随机数
x_data = np.float32(np.random.rand(2,100))
y_data = np.dot([0.100,0.200],x_data) + 0.300 # 初始化参数
b = tf.Variable(tf.zeros([1]))
# w为1x2的矩阵,在-1.0到1.0之间均匀分布
w = tf.Variable(tf.random_uniform([1,2],-1.0,1.0))
y = tf.matmul(w,x_data) + b # 使用最小化方差进行梯度下降,来不断更新参数,学习率设置为0.5
loss = tf.reduce_mean(tf.square(y-y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss) #init = tf.initialize_all_variables()
#新版本的tensorflow使用下面的接口,老版本使用上面的接口
init = tf.global_variables_initializer() sess = tf.Session()
sess.run(init) #进行拟合找到适合的参数
for step in xrange(0,201):
sess.run(train)
if (step) % 20 == 0:
print step,sess.run(w),sess.run(b)

实验结果:

 runfile('/home/zhuang/project/1-AI/My_AI_Study_Project/3-tensorflow/005-test.py', wdir='/home/zhuang/project/1-AI/My_AI_Study_Project/3-tensorflow')
0 [[0.39894426 0.3333286 ]] [0.14586714]
20 [[0.16806586 0.26403958]] [0.22699882]
40 [[0.12101775 0.22725435]] [0.27309927]
60 [[0.10728491 0.21063562]] [0.28998315]
80 [[0.10265137 0.20403926]] [0.2962562]
100 [[0.10098286 0.20152006]] [0.29859895]
120 [[0.10036676 0.20057023]] [0.29947543]
140 [[0.10013718 0.20021366]] [0.29980358]
160 [[0.10005137 0.20008004]] [0.29992643]
180 [[0.10001925 0.20002998]] [0.29997244]
200 [[0.10000721 0.20001122]] [0.29998967]

我们的目标方程y_data = np.dot([0.100,0.200],x_data) + 0.300,经过200次的训练更新w,b参数为[[0.10000721 0.20001122]] [0.29998967],非常接近我们方程的参数。

 

tensorflow拟合随机生成的三维数据【学习笔记】的更多相关文章

  1. JS随机生成不重复数据的代码分享

    JS随机生成不重复数据. 代码如下: <script> // 定义存放生成随机数的数组 var array=new Array(); // 循环N次生成随机数 for(var i = 0 ...

  2. fabric私密数据学习笔记

    fabric私密数据学习笔记 私密数据分为两部分 一个是真正的key,value,它被存在 peer的私密数据库(private state)中. 另一部分为公共数据,它是真实的私密数据key,val ...

  3. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

  4. 大数据学习笔记——Java篇之IO

    IO学习笔记整理 1. File类 1.1 File对象的三种创建方式: File对象是一个抽象的概念,只有被创建出来之后,文件或文件夹才会真正存在 注意:File对象想要创建成功,它的目录必须存在! ...

  5. 大数据学习笔记——Hadoop编程实战之HDFS

    HDFS基本API的应用(包含IDEA的基本设置) 在上一篇博客中,本人详细地整理了如何从0搭建一个HA模式下的分布式Hadoop平台,那么,在上一篇的基础上,我们终于可以进行编程实操了,同样,在编程 ...

  6. 大数据学习笔记——Linux基本知识及指令(理论部分)

    Linux学习笔记整理 上一篇博客中,我们详细地整理了如何从0部署一套Linux操作系统,那么这一篇就承接上篇文章,我们仔细地把Linux的一些基础知识以及常用指令(包括一小部分高级命令)做一个梳理, ...

  7. 大数据学习笔记——Java篇之网络编程基础

    Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...

  8. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

  9. 使用Faker来随机生成接近真实数据的数据

    在很多场景我们需要造一些假数据或者mock数据,如果我们写死类似[XXXX]类似的无意义的其实不是很优雅,Faker能提供常用的一些名词的随机数据. 1.引入POM: <dependency&g ...

随机推荐

  1. TensorFlow基础1:reduce_sum()函数和reduce_mean()函数

    https://blog.csdn.net/chengshuhao1991/article/details/78545723 在计算损失时,通常会用到reduce_sum()函数来进行求和,但是在使用 ...

  2. Qt Creator 4.3.0,Quick Designer里面也看以同时看到和编辑qml code了(Qt5.9的配套IDE)

    作者:Summer Fang链接:https://www.zhihu.com/question/60486611/answer/177584284来源:知乎著作权归作者所有.商业转载请联系作者获得授权 ...

  3. LINUX中的ACL

    一. 为什么要使用ACL先让我们来简单地复习一下Linux的文件权限. 在 linux下,对一个文件(或者资源)可以进行操作的对象被分为三类: file owner(文件 的拥有者),group(组, ...

  4. 日期 date +%F-%T-%N

    date +%F-%T-%N 2016-03-24-14:40:13-997433641 %%   a literal %  %a   locale's abbreviated weekday nam ...

  5. 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口

    在系统启动时,Windows Vista 中. 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TI ...

  6. 【深入理解javascript】this的用法

    引用:this的用法 在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了 情况1:构造函数 函数作为构造函数用,那么其中的this就代表它即将new出来的对象.另外 ...

  7. 解决idea工具下tomcat中文乱码问题

    在运行/调试 配置对话框的Startup/Connection面板中, 勾选Pass environment variables. 并添加一个environment variable, Name填 J ...

  8. 用setup.py安装第三方包packages

    这次要说的是用setup.py 来安装第三方包.步骤如下: 步骤:setup.py 先下载你要安装的包,并解压到磁盘下: 进入到该文件的setup.py 目录下 ,打开cmd,并切换到该目录下: 先执 ...

  9. mysql 开启慢查询

    linux启用MySQL慢查询 vim /etc/my.cnf [mysqld] slow-query-log = on slow_query_log_file = /var/log/slow_que ...

  10. react native 淘宝镜像

    终端命令  open 打开 .npmrc 插入一行代码 registry=https://registry.npm.taobao.org