使用神经网络来拟合函数y = x^3 +b

我们使用一个三层的小网络来,模拟函数y = x^3+b函数

 1 import tensorflow as tf
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 
 5 #训练数据
 6 x_data = np.linspace(-6.0,6.0,30)[:,np.newaxis]
 7 y_data = np.power(x_data,3) + 0.7
 8 #验证数据
 9 t_data = np.linspace(-20.0,20.0,40)[:,np.newaxis]
10 ty_data = np.power(t_data,3) + 0.7
11 #占位符
12 x = tf.placeholder(tf.float32,[None,1])
13 y = tf.placeholder(tf.float32,[None,1])
14 
15 #network 
16 #--layer one--
17 l_w_1 = tf.Variable(tf.random_normal([1,10]))
18 l_b_1 = tf.Variable(tf.zeros([1,10]))
19 l_fcn_1 = tf.matmul(x, l_w_1) + l_b_1
20 relu_1  = tf.nn.relu(l_fcn_1)
21 #---layer two----
22 l_w_2 = tf.Variable(tf.random_normal([10,20]))
23 l_b_2 = tf.Variable(tf.zeros([1,20]))
24 l_fcn_2 = tf.matmul(relu_1, l_w_2) + l_b_2
25 relu_2  = tf.nn.relu(l_fcn_2)
26 
27 
28 #---output---
29 l_w_3 = tf.Variable(tf.random_normal([20,1]))
30 l_b_3 = tf.Variable(tf.zeros([1,1]))
31 l_fcn_3 = tf.matmul(relu_2, l_w_3) + l_b_3
32 #relu_3  = tf.tanh(l_fcn_3)
33 # init
34 init = tf.global_variables_initializer()
35 #定义 loss func
36 loss = tf.reduce_mean(tf.square(y-l_fcn_3))
37 learn_rate =0.001
38 train_step = tf.train.GradientDescentOptimizer(learn_rate).minimize(loss)
39 
40 with tf.Session() as sess:
41     sess.run(init);
42     for epoch in range(20):
43         for step in range(5000):
44             sess.run(train_step,feed_dict={x:x_data,y:y_data})
45     y_pred = sess.run(l_fcn_3,feed_dict={x:t_data})
46     print sess.run(l_fcn_3,feed_dict={x:[[10.]]})
47     plt.figure()
48     plt.scatter(t_data,ty_data)
49     plt.plot(t_data,y_pred,'r-')
50     plt.show()
[[ 533.45062256]]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数值分析与有限元编程

坐标映射

建立等参单元,需要另外一个自然坐标系下的参考单元。对于物理坐标系下的任意一点,在自然坐标系下的参考单元中,有唯一的一个点与之对应;反过来对于自然坐标系下参考单元...

3054
来自专栏用户2442861的专栏

python pyplot accuracy cost曲线绘制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1183
来自专栏目标检测和深度学习

手把手教你搭建目标检测器-附代码

1272
来自专栏Petrichor的专栏

深度学习: 经典 数据集 汇总

官网:www.cs.toronto.edu/~kriz/cifar 介绍:CIFAR-10数据集说明、TensorFlow CNN 测试CIFAR-10数据...

4403
来自专栏企鹅号快讯

用keras搭建3D卷积神经网络

资源: 3D卷积神经网络相关博客:http://blog.csdn.net/lengxiaomo123/article/details/68926778 ker...

7427
来自专栏机器学习算法工程师

手把手教你搭建目标检测器-附代码

翻译:刘威威 编辑:祝鑫泉 前 言 本文译自:[http://www.hackevolve.com/create-your...

3494
来自专栏大数据智能实战

tensorflow 1.01中GAN(生成对抗网络)手写字体生成例子(MINST)的测试

为了更好地掌握GAN的例子,从网上找了段代码进行跑了下,测试了效果。具体过程如下: 代码文件如下: import tensorflow as tf from ...

51710
来自专栏marsggbo

Augmentor 使用介绍

<img src="https://ask.qcloudimg.com/draft/1215004/jfwdwyxm4.jpg" style="border:5...

6355
来自专栏Pytorch实践

Tensorflow实现部分参数梯度更新

在深度学习中,迁移学习经常被使用,在大数据集上预训练的模型迁移到特定的任务,往往需要保持模型参数不变,而微调与任务相关的模型层。本文主要介绍,使用tensorf...

5292
来自专栏chenjx85的技术专栏

超参数搜索——网格搜索和随机搜索

我们在搜索超参数的时候,如果超参数个数较少(三四个或者更少),那么我们可以采用网格搜素,一种穷尽式的搜索方法。

1313

扫码关注云+社区

领取腾讯云代金券