吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络
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实现搭建基础神经网络的更多相关文章
- 吴裕雄--python学习笔记:爬虫基础
一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...
- 吴裕雄 python 神经网络——TensorFlow 循环神经网络处理MNIST手写数字数据集
#加载TF并导入数据集 import tensorflow as tf from tensorflow.contrib import rnn from tensorflow.examples.tuto ...
- 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集
import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...
- 吴裕雄 python 神经网络——TensorFlow 训练过程的可视化 TensorBoard的应用
#训练过程的可视化 ,TensorBoard的应用 #导入模块并下载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mni ...
- 吴裕雄 python 神经网络——TensorFlow图片预处理调整图片
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def distort_color(image, ...
- 吴裕雄 python 神经网络TensorFlow实现LeNet模型处理手写数字识别MNIST数据集
import tensorflow as tf tf.reset_default_graph() # 配置神经网络的参数 INPUT_NODE = 784 OUTPUT_NODE = 10 IMAGE ...
- 吴裕雄 python 神经网络——TensorFlow pb文件保存方法
import tensorflow as tf from tensorflow.python.framework import graph_util v1 = tf.Variable(tf.const ...
- 吴裕雄 python 神经网络——TensorFlow 数据集高层操作
import tempfile import tensorflow as tf train_files = tf.train.match_filenames_once("E:\\output ...
- 吴裕雄 python 神经网络——TensorFlow 输入数据处理框架
import tensorflow as tf files = tf.train.match_filenames_once("E:\\MNIST_data\\output.tfrecords ...
随机推荐
- vs2010安装
1.网盘上2010安装包可用,先下载到电脑上,然后找到setup文件,安装即可 2.下载插件,基本的文本对齐,tab键补齐等功能 3.测试hello world程序 4.出现的问题 一个文件夹下有多个 ...
- 面向对象的封装、继承和多态特性_python
一.面向对象的几个特点 面向对象也称为类,拥有下面几个特点 1.封装特性:利用类的__init__(self)构造方法封装对象 构造方法:__init__(self):在生成对象的时候会自动调用 例子 ...
- windows10中docker nginx开启 但页面访问不了
Windows下对docker端口进行映射,但是当你在主机的浏览器中,打开localhost:port无法访问对应的服务. docker是运行在Linux上的,在Windows中运行docker,实际 ...
- codeforces 1285D. Dr. Evil Underscores(字典树)
链接:https://codeforces.com/problemset/problem/1285/D 题意:给n个数a1,a2,a3.....an,找到一个数X,使得X 异或所有的ai ,得到的ma ...
- echarts 如何去掉折线上的小圆点
series:[{ symbol:none; //去掉折线上的小圆点 type:line; name:seriesName; data:seriesData }]
- Django REST framework快速入门(官方文档翻译翻译)
开始 我们将创建一个简单的API来允许管理员用户查看和编辑系统中的用户和组. 项目设置 创建一个新的django项目,命名为:<tutorial>,然后创建一个新的应用程序(app),命名 ...
- IntelliJ IDEA 2017.3尚硅谷-----插件的使用
在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都 是通过插件的方式来实现的.官网插件库:https://plugins.jetbrains.c ...
- (ghrd)pio设置
设置中是下降沿,边沿触发.
- layui表单之单选框提交
<div class="layui-form-item"> <label class="layui-form-label">状态< ...
- access denied (2)
除了https://www.cnblogs.com/bneglect/p/11558593.html 这里提到的以外,今天再记录一个新的原因造成这种情况的解决方法.path_info 这个算是路由模 ...