tensorflow实现二维平面模拟三维数据教程

我就废话不多说了,直接上代码吧!

#!/bin/bash
# -*-coding=utf-8-*-
import re
import os
import sys
import numpy as np
import tensorflow as tf

'''
  程序生成了一些三维数据, 然后用一个平面拟合它.
'''
if __name__ == '__main__':

  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 = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
  y = tf.matmul(W, x_data) + b

  # 最小化方差
  loss = tf.reduce_mean(tf.square(y - y_data))
  optimizer = tf.train.GradientDescentOptimizer(0.5)
  train = optimizer.minimize(loss)

  # 初始化变量
  init = tf.initialize_all_variables()

  # 启动图 (graph)
  with tf.Session() as sess:
    sess.run(init)
    # 拟合平面
    for step in range(0, 201):
      sess.run(train)
      if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))
  pass

运行结果:

0 [[-0.17184146 0.86964405]] [ 0.1381081]
20 [[ 0.08097319 0.36775881]] [ 0.21781394]
40 [[ 0.10813832 0.2485593 ]] [ 0.26939642]
60 [[ 0.10546865 0.2152364 ]] [ 0.28894189]
80 [[ 0.10238092 0.20503291]] [ 0.29606038]
100 [[ 0.10091752 0.20171218]] [ 0.29860607]
120 [[ 0.10033666 0.20059179]] [ 0.29950845]
140 [[ 0.10012084 0.20020625]] [ 0.29982695]
160 [[ 0.10004292 0.20007218]] [ 0.29993913]
180 [[ 0.10001516 0.20002531]] [ 0.29997858]
200 [[ 0.10000535 0.2000089 ]] [ 0.29999247]
最佳拟合结果 W: [[0.100 0.200]], b: [0.300]

以上这篇tensorflow实现二维平面模拟三维数据教程就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python Matplotlib实现三维数据的散点图绘制

    一.背景 近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo.选用Python2.7与Matplotlib来实现,平台采用Pycharm,值得一提的是,Matplotlib的安装前首先要安装Numpy包,但是在完成Numpy的安装之后,楼主不能在PyCharm平台下进行自动安装,或者CMD中使用类似pip install Matplotlib,参考网上解决方案后采用直接去官网下载相应的安装包直接运行安装到相关目录下.在此就不赘述了. 二. 参考 Python语言

  • Tensorflow分批量读取数据教程

    之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是灰度图像,因此大小是92*112的,所以最开始fetch拿到的图像数据集经过reshape之后就是一个rank为2的tensor,大小是92*112的(如果考虑通道,也可以reshape为rank为3的,即92*112*1).如果加入batch,比如batch大小为5,那么拿到的tensor的r

  • 基于Tensorflow批量数据的输入实现方式

    基于Tensorflow下的批量数据的输入处理: 1.Tensor TFrecords格式 2.h5py的库的数组方法 在tensorflow的框架下写CNN代码,我在书写过程中,感觉不是框架内容难写, 更多的是我在对图像的预处理和输入这部分花了很多精神. 使用了两种方法: 方法一: Tensor 以Tfrecords的格式存储数据,如果对数据进行标签,可以同时做到数据打标签. ①创建TFrecords文件 orig_image = '/home/images/train_image/' gen

  • tensorflow实现二维平面模拟三维数据教程

    我就废话不多说了,直接上代码吧! #!/bin/bash # -*-coding=utf-8-*- import re import os import sys import numpy as np import tensorflow as tf ''' 程序生成了一些三维数据, 然后用一个平面拟合它. ''' if __name__ == '__main__': x_data = np.float32(np.random.rand(2, 100)) y_data = np.dot([0.100

  • 浅谈java中的一维数组、二维数组、三维数组、多维数组

    这个数组可以看做新手学习,从一维数组 到 多维 数组 循环渐进,其实看起也很简单,一看便知,众所周知,一维.二维或许经常用到,用到二维以上应该就很少了. public class test { public static void main(String[] args) { /*一维数组*/ int num[] = {0,1,2}; /*下面输出 3 行数据,0 ~ 2*/ for (int i = 0; i < num.length; i++) { System.out.println("

  • C#使用二维数组模拟斗地主

    本文实例讲述了C#使用二维数组模拟斗地主的方法.分享给大家供大家参考.具体如下: package com.pb.demo; import java.util.Arrays; import java.util.Random; /** * 扑克牌随机发牌♠♥♣♦ 二维数组实现 * */ public class Puker { public static void main(String[] args) { // 定义数组 String[][] puker = new String[5][]; pu

  • Python绘图之二维图与三维图详解

    各位工程师累了吗? 推荐一篇可以让你技术能力达到出神入化的网站"持久男" 1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt np.random.seed(1000) y = np.random.standard_normal(10) print "y = %s"% y x =

  • 用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果

    研究了一上午,终于做出了,实时获取本地localStorage来模拟注册登入~~~ <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>我们虽然很穷,但是我们有梦想</title> <script src="angular.js"></script> </he

  • PHP 二维数组和三维数组的过滤

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <?php $arr = [ [,,,,], [,,,,] ]; $arr = [ 'list' => [ [,,,], [,,,], [,,,], ] ]; $arr = [ 'list' => [ [,,,], [,,,], [,,,] ] ]; $res = array_map(function($arr){ return array_filter($arr, function($v) { return $v !== ; });

  • 详解vue 模拟后台数据(加载本地json文件)调试

    本文介绍了vue 模拟后台数据(加载本地json文件)调试,分享给大家,也给自己留个笔记 首先创建一个本地json文件,放在项目中如下 { "runRedLight":{ "CurrentPage": 1, "TotalPages": 0, "TotalItems": 0, "ItemsPerPage": 100, "Items":[ {"DEVICEID":&quo

  • express+mockjs实现模拟后台数据发送功能

    前言: 大多数时候,前端会和后端同时进行开发,即在我们开发完页面的时候,很可能还不能立马进入联调阶段,这个时候,为了保证我们接口的有效性和代码的功能完整,我们可能需要模拟数据. 模拟数据方法 1.通过js变量模拟后台数据 优点:不需要服务器 缺点:需要造很多变量,同时还要将变量在我们的有效代码中使用,最后还得删除 2.通过ajax请求json文件 优点:只需要配置路径,就可以访问,进入联调阶段不用修改大量的js代码 缺点:ajax存在跨域问题,通常无法请求本地文件,即使火狐也存在不能访问不同文件

  • vue新vue-cli3环境配置和模拟json数据的实例

    最近在研究学习vue,发现环境配置特麻烦,就是跟着文档步骤一步一步来,也会遇到各种想不到的坑,vue-cli3的配置比老的简洁了很多,与以往的配置也有所不同: 1.安装步骤以前是 npm install vue-cli -g 现在是: npm install -g @vue/cli 2.vue-cli2 新建项目 vue init webpack Vue-Project vuecli3新建项目,在你创建后会有一个保存当前配置的功能 vue create <project-name> vue-c

  • Java多线程编程实战之模拟大量数据同步

    背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的.否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果. 不过笔者仍旧认为自己对于多线程掌握不够熟练,不敢轻易应用到生产代码中.这就按照平时工作中遇到的实际问题,脑补了一个很可能存在的业务场景: 已知某公司管理着 1000 个微信服务号,每个服务号有 1w ~ 50w 粉丝不等.假设该公司每天都需要将所有微信服务号的粉丝数据通过调用微信 API 的方式更新到本地数据库. 需求分析 对此

随机推荐