Tensorflow的基本运行方式--demo程序
1. Tensorflow的运行流程如下
- 加载数据及定义超参数
- 构建网络
- 训练模型
- 评估模型和进行预测
2. Tensorflow demo实现
demo如下:优化目标为:y=x2−0.5
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 18 20:30:10 2018@author: spfhydiscription: tensorflow 的运行方式示例
"""import tensorflow as tf
import numpy as np#1. 生成输入数据,学习方程为:y = x^2 - 0.5,构造满足这个方程的一堆x,y,同时加入噪点
x_data = np.linspace(-1,1,30)[:,np.newaxis] #300*1的二维数组作为输入noise = np.random.normal(0,0.05,x_data.shape)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])def add_layer(inputs,in_size,out_size,activation_function =None):#构建权重:in_size*out_size大小的矩阵weights = tf.Variable(tf.random_normal([in_size,out_size]))#构建偏置:1*out_size的矩阵biases = tf.Variable(tf.zeros([1,out_size])+0.1)#矩阵相乘Wx_plus_b = tf.matmul(inputs,weights)+ biasesif activation_function is None:outputs = Wx_plus_belse:outputs = activation_function(Wx_plus_b)return outputs#构建隐匿层,假设隐匿层有20个神经元
h1 = add_layer(xs,1,20,activation_function=tf.nn.relu)
#构建输出层,假设输出层和输入层一样,有1个神经元
prediction = add_layer(h1,20,1,activation_function=None)#构建损失函数:计算输出层的预测值和真实值间的误差,对二者差的方求和再取平均,得到损失
#函数,运用梯度下降法,以0.1的学习速率最小化损失:loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys -prediction),reduction_indices=[1]))
#实现梯度下降算法的优化器
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)for i in range(1000):sess.run(train_step,feed_dict={xs:x_data,ys:y_data})if i%50 == 0:print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))
本文时学习《TensorFlow 技术解析与实践》的学习笔记,代码摘抄自该书;
参考文献:李嘉璇《TensorFlow 技术解析与实践》
原文:https://blog.csdn.net/u010177286/article/details/79998193
Tensorflow的基本运行方式--demo程序相关推荐
- Android API Demo程序框架
前言 android API Demo程序主要演示了Android常见API的使用方法, 本文将该程序的框架提取出来, 以作为自己研究和学习Android编程的一个示例收集框架,即将所有自己研究过的例 ...
- ADO.NET Entity Framework 入门示例向导(附Demo程序下载)
ADO.NET Entity Framework 入门示例向导(附Demo程序下载) ADO.NET Entity Framework 是.Net Framework 3.5 SP1 引入的实体框架, ...
- .QT-制作最强电压电阻表盘,可以自定义阴影效果,渐变颜色,图标,文字标签等-附带demo程序
.QT-制作最强电压电阻表盘,可以自定义阴影效果,渐变颜色,图标,文字标签等-附带demo程序 qt自定义控件-圆形通用指示表盘
- Android中通过USB接口与和PC进行通讯的demo程序
以往开发过多款安卓嵌入式设备,这些设备与PC通讯主要通过设备上的以太网网口进行网络通讯,最近一个项目设备没有以太网网口,设备与PC通讯要求使用普通安卓数据线连接设备与PC完成数据通讯. 查阅相关资料以 ...
- 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发教程(一)-体验篇...
现在新浪微博开放平台(http://open.weibo.com)非常火啊,所以...,你懂的! 首先,想要开发新浪微博API,你就必须获取APP KEY和APP SECRET,我毫不犹豫的就用新浪微 ...
- 【STM32WB55 测评】BLE demo程序执行过程浅析
转自http://bbs.eeworld.com.cn/thread-1077830-1-1.html 编译了 BLE_p2pServer 这个工程以后,我就可以用GDB进行跟踪调试了.跟踪跟踪,姑且 ...
- Skia4Dephi 的 Demo 程序界面架构分析
前言 Skia 是一个高效率的 2D 画图引擎,由 Google 开源出来.目前可以运行在 Android, iOS 和 Win32 上面. Skia4Delphi 是一个开源的 Delphi 控件, ...
- GEC6818开发板JPG图像显示,科大讯飞离线语音识别包Linux_aitalk_exp1227_1398d7c6运行demo程序,开发板实现录音
GEC6818开发板JPG图像显示 | 开发板实现录音 一.GEC6818开发板JPG图像显示 1.jpg图片特性 2.如何解压缩jpg图片 1.对jpegsrc.v8c.tar.gz进行arm移植 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
最新文章
- IOS UI 代码创建UIButton,UITextField,UILabel
- fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出
- 一条数字链路连接的端口无法UP及后续相应故障的排除
- checkbox全选与反选
- 过关斩将打进Kaggle竞赛Top 0.3%,我是这样做的
- mysql执行计划中性能最差的是_面试中:mysql性能调优-执行计划explain
- java (三)面向对象编程
- 机器学习系列(8)_读《Nature》论文,看AlphaGo养成
- 庐山真面-Oxite的HelloWorld
- 过年了,是不是应该写点代码祝福别人
- 《蛋白质女孩》的一句台词
- c语言编程题2^0+2^1+……+2e63,牛客网刷题33(2道题)
- 【问答集锦】从数据中挖掘宝藏,深度学习赋予机器更多“思想”
- 3.MongoDB uri中包含特殊字符与读策略配置
- 探索与发现,我们在路上
- 【优化预测】基于matlab萤火虫算法优化BP神经网络预测【含Matlab源码 1313期】
- Linux——驱动开发
- iOS C语言~bzero函数、memset函数
- java手机牧场物语,Minecraft Java版 19w09a 发布
- EMDLP:用于RNA甲基化位点预测的集成多尺度深度学习模型 论文解读