import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt def add_layer(inputs, in_size, out_size, activation_function = None):
#构建权重: in_sizeXout_size大小的矩阵
weights = tf.Variable(tf.random_normal([in_size, out_size]))#生成随机数
#构建偏置: 1Xout_size 的矩阵
biases = tf.Variable(tf.zeros([1, out_size]) + 0.1)
#矩阵相乘
Wx_plus_b = tf.matmul(inputs, weights) + biases
if activation_function is None:
outputs = Wx_plus_b
else:
outputs = activation_function(Wx_plus_b)
#得到输出数据
return outputs #构造满足一元二次方程的函数
#为了使点更密一些,构建了分布在-1到1区间的300个点,直接采用np生成等差数列
#的方法,并将结果为300个点的一维数组转换为300X1的二维数组
x_data = np.linspace(-1,1,300)[:, np.newaxis]
#加入一些噪声点,使它与x_data的维度一致,并且拟合为均值为0、方差0.05的正态分布
noise = np.random.normal(0, 0.05, x_data.shape)
#y=x^2-0.5+噪声
y_data = np.square(x_data) - 0.5 + noise #以x和y的占位符来作为将要输入神经网络的变量:
xs=tf.placeholder(tf.float32, [None, 1])
ys=tf.placeholder(tf.float32, [None, 1]) #构建隐藏层,假设隐藏层有10个神经元
h1 = add_layer(xs, 1,10, activation_function=tf.nn.relu)
#构建输出层,假设输出层和输入层一样,有一个神经元
prediction = add_layer(h1, 10, 1, activation_function=None) #计算预测值和真实值间的误差
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))
# 这一行定义了用什么方式去减少 loss,学习率是 0.1
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) #训练模型
# important step 对所有变量进行初始化
init = tf.global_variables_initializer() with tf.Session() as sess:
# 上面定义的都没有运算,直到 sess.run 才会开始运算
sess.run(init)
# plot the real data
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x_data, y_data)
plt.ion()
#训练1000次
for i in range(1000):
# training train_step 和 loss 都是由 placeholder 定义的运算,所以这里要用 feed 传入参数
sess.run(train_step, feed_dict={xs: x_data, ys: y_data})
#每50次打印出一次损失值
if(i % 50 == 0):
print(sess.run(loss, feed_dict={xs: x_data, ys: y_data}))
prediction_value = sess.run(prediction, feed_dict={xs: x_data})
# plot the prediction
lines = ax.plot(x_data, prediction_value, 'r-', lw=5)
plt.pause(0.9)

吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络的更多相关文章

  1. 吴裕雄--python学习笔记:爬虫基础

    一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...

  2. 吴裕雄 python 神经网络——TensorFlow 循环神经网络处理MNIST手写数字数据集

    #加载TF并导入数据集 import tensorflow as tf from tensorflow.contrib import rnn from tensorflow.examples.tuto ...

  3. 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集

    import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...

  4. 吴裕雄 python 神经网络——TensorFlow 训练过程的可视化 TensorBoard的应用

    #训练过程的可视化 ,TensorBoard的应用 #导入模块并下载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mni ...

  5. 吴裕雄 python 神经网络——TensorFlow图片预处理调整图片

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def distort_color(image, ...

  6. 吴裕雄 python 神经网络TensorFlow实现LeNet模型处理手写数字识别MNIST数据集

    import tensorflow as tf tf.reset_default_graph() # 配置神经网络的参数 INPUT_NODE = 784 OUTPUT_NODE = 10 IMAGE ...

  7. 吴裕雄 python 神经网络——TensorFlow pb文件保存方法

    import tensorflow as tf from tensorflow.python.framework import graph_util v1 = tf.Variable(tf.const ...

  8. 吴裕雄 python 神经网络——TensorFlow 数据集高层操作

    import tempfile import tensorflow as tf train_files = tf.train.match_filenames_once("E:\\output ...

  9. 吴裕雄 python 神经网络——TensorFlow 输入数据处理框架

    import tensorflow as tf files = tf.train.match_filenames_once("E:\\MNIST_data\\output.tfrecords ...

随机推荐

  1. 环境配置 | mac环境变量文件.bash_profile相关

    每次环境配置都费老劲,零零碎碎的知识就记在这里 文件:~/.bash_profile

  2. 使用NSIS制作可执行程序的安装包

    使用NSIS制作可执行程序的安装包: 1,NSIS下载地址:https://pan.baidu.com/s/1GzzQNXgAlJPJWgjBzVwceA 下载完成之后解压缩,打开安装程序,默认安装即 ...

  3. 220. 存在重复元素 III

    题目: 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ. 示例 1: ...

  4. [ASP.NET]Web网站与Web应用程序区别

    [ASP.NET]Web网站与Web应用程序区别   本文链接:https://blog.csdn.net/a954553391/article/details/86403521 前言:在项目开发中, ...

  5. oracle中日期的函数的使用

    --oracle中trunc()函数的用法 .select trunc(sysdate) from dual --2019-6-18 今天的日期为209-6-18 .select trunc(sysd ...

  6. AcWing 5. 多重背包问题 II

    //二进制优化 最后变为01背包 #include <iostream> #include <algorithm> using namespace std; , M = ; i ...

  7. 16 符号 xargs

    03. 系统特殊符号: 1) 基础符号系列 美元符号:$ 叹号符号: ! 取反 竖线符号: | 管道符号 前一个命令执行结果交给后面命令处理 xargs 命令|xargs 命令 xargs: 将信息进 ...

  8. 题解【POJ1160】Post Office

    [POJ1160]Post Office Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22362 Accepted: 1208 ...

  9. python-PIL-16bit-灰度图像生成-tiff

    import numpy from PIL import Image a=numpy.array(numpy.uint16([[12,23,34],[123,213,22]])) im=Image.f ...

  10. Linux服务器上实现数据库和图片文件的定时备份

    一. 1.首先创建一个目录,用于存放备份的数据   2.在该目录下创建两个子目录一个用于存放数据库的信息,一个用于存放图片资源       3.#数据库的备份 执行下面的命令    mysqldump ...