使用Tensorflow中的神经网络来拟合函数(y = x ^ 3 + 0.7)

# -*- coding:utf-8 -*-
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt #训练数据
x_data = np.linspace(-6.0,6.0,30)[:,np.newaxis]
y_data = np.power(x_data,3) + 0.7
#验证数据
t_data = np.linspace(-20.0,20.0,40)[:,np.newaxis]
ty_data = np.power(t_data,3) + 0.7
#占位符
x = tf.placeholder(tf.float32,[None,1])
y = tf.placeholder(tf.float32,[None,1]) #network
#--layer one--
l_w_1 = tf.Variable(tf.random_normal([1,10]))
l_b_1 = tf.Variable(tf.zeros([1,10]))
l_fcn_1 = tf.matmul(x, l_w_1) + l_b_1
relu_1 = tf.nn.relu(l_fcn_1)
#---layer two----
l_w_2 = tf.Variable(tf.random_normal([10,20]))
l_b_2 = tf.Variable(tf.zeros([1,20]))
l_fcn_2 = tf.matmul(relu_1, l_w_2) + l_b_2
relu_2 = tf.nn.relu(l_fcn_2) #---output---
l_w_3 = tf.Variable(tf.random_normal([20,1]))
l_b_3 = tf.Variable(tf.zeros([1,1]))
l_fcn_3 = tf.matmul(relu_2, l_w_3) + l_b_3
#relu_3 = tf.tanh(l_fcn_3)
# init
init = tf.global_variables_initializer()
#定义 loss func
loss = tf.reduce_mean(tf.square(y-l_fcn_3))
learn_rate =0.001
train_step = tf.train.GradientDescentOptimizer(learn_rate).minimize(loss) with tf.Session() as sess:
sess.run(init);
for epoch in range(20):
for step in range(5000):
sess.run(train_step,feed_dict={x:x_data,y:y_data})
y_pred = sess.run(l_fcn_3,feed_dict={x:t_data})
print sess.run(l_fcn_3,feed_dict={x:[[10.]]})
plt.figure()
plt.scatter(t_data,ty_data)
plt.plot(t_data,y_pred,'r-')
plt.show()

实验结果

Tensorflow神经网络进行fiting function的更多相关文章

  1. TensorFlow神经网络集成方案

    TensorFlow神经网络集成方案 创造张力流create_tensorflow_neuropod 将TensorFlow模型打包为neuropod包. create_tensorflow_neur ...

  2. TensorFlow 神经网络教程

    TensorFlow 是一个用于机器学习应用程序的开源库.它是谷歌大脑的第二代系统,在取代了近源的 DistBelief 之后,被谷歌用于研究和生产应用.TensorFlow 提供了很多种语言接口,包 ...

  3. 【Magenta 项目初探】手把手教你用Tensorflow神经网络创造音乐

    原文链接:http://www.cnblogs.com/learn-to-rock/p/5677458.html 偶然在网上看到了一个让我很感兴趣的项目 Magenta,用Tensorflow让神经网 ...

  4. Tensorflow 神经网络

    Tensorflow让神经网络自动创造音乐 前几天看到一个有意思的分享,大意是讲如何用Tensorflow教神经网络自动创造音乐.听起来好好玩有木有!作为一个Coldplay死忠粉,第一想法就是自动生 ...

  5. 学习笔记TF055:TensorFlow神经网络简单实现一元二次函数

    TensorFlow运行方式.加载数据.定义超参数,构建网络,训练模型,评估模型.预测. 构造一个满足一元二次函数y=ax^2+b原始数据,构建最简单神经网络,包含输入层.隐藏层.输出层.Tensor ...

  6. TensorFlow 神经网络相关函数

    TensorFlow 激活函数 激活操作提供用于神经网络的不同类型的非线性.这些包括平滑的非线性(sigmoid,tanh,elu,softplus,和softsign),连续的,但不是到处可微函数( ...

  7. tensorflow神经网络拟合非线性函数与操作指南

    本实验通过建立一个含有两个隐含层的BP神经网络,拟合具有二次函数非线性关系的方程,并通过可视化展现学习到的拟合曲线,同时随机给定输入值,输出预测值,最后给出一些关键的提示. 源代码如下: # -*- ...

  8. tflearn tensorflow LSTM predict sin function

    from __future__ import division, print_function, absolute_import import tflearn import numpy as np i ...

  9. TensorFlow神经网络中的激活函数

    激活函数是人工神经网络的一个极其重要的特征.它决定一个神经元是否应该被激活,激活代表神经元接收的信息与给定的信息有关. 激活函数对输入信息进行非线性变换. 然后将变换后的输出信息作为输入信息传给下一层 ...

随机推荐

  1. 日期在苹果手机上显示NaN的处理方法

    注意两点即可: 1.苹果只认识 yyyy/mmmm/dddd/  这类格式的日期 2.如果输出后还要进行处理日期对比,苹果默认会带中文字,如:年月日,需要转成上面1当中的日期格式在转时间戳进行比较 G ...

  2. spring 多个数据库之间切换

    多数据源问题很常见,例如读写分离数据库配置. 原来的项目出现了新需求,局方要求新增某服务器用以提供某代码,涉及到多数据源的问题. 研究成果如下: 1.首先配置多个datasource [html] v ...

  3. leetcode || 64、Minimum Path Sum

    problem: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom ri ...

  4. tree 命令使用技巧

    一.简介 tree命令可以以目录树的形式显示指定(默认显示这个文件系统)目录的所有文件夹和文件 二.使用 显示一个目录 $ tree folder Tips:如果文件夹有中文,则会显示一串转移字符,使 ...

  5. jdk从1.8降到1.7的办法

    jdk从1.8降到1.7的办法 正常情况下,JDK的升降级只需更改环境变量即可,可是到了1.8版本,oracle使了一点小手段--在系统Path中添加一条变量C:/ProgramData/Oracle ...

  6. Ubuntu14.4下搭配WEB服务器(apache + php + mysql)

    今天,趁着自己动手安装web服务器的余热,将Ubuntu14.4搭配WEB服务器的过程记录下来. “一切皆文件”. 说明:网上关于类似搭配web服务器的教程,案例不计其数,但自己亲自动手“试试”,一定 ...

  7. MFC多国语言——资源副本

    此随笔主要参考了http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html 为软件提供多国语言的支持的具体实现方法有很多,但基本原 ...

  8. 用MathType编辑异或与非符号有什么方法

    在数学中我们会遇到各种数学符号,有运算符号,希腊符号,还有表示逻辑关系的逻辑符号等,这些大多都是比较常用的符号.其中逻辑符号中我们经常会用到异或与非等,这些符号的编辑我们常常会需要用MathType这 ...

  9. 图像增强:直方图均衡和小波变换【matlab】

    直方图均衡:统计图像像素灰度的直方图分布.对其进行重新分配以使图像的直方图分布更加均衡. 小波变换:图像轮廓主要体现在低频部分,可以通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,达到图像 ...

  10. iOS开发之--storyboary下,拖拽一个tableview/collectionView/view 等,顶端下沉64个像素的处理方法

    大家可能会发现,在sb或者xib里面拖拽一个tableview/collectionview/view的,顶端会自动下沉64个像素,也就是说,运行在模拟器上去,自导航下面又自动下沉了64个像素, 那是 ...