1、TensorFlow如何工作?
- TensorFlow特殊的张量计算引擎使得TensorFlow能够很好的满足机器学习的计算需要,从2015年开始发起
- 本书基于TensorFlow0.12+和python3.0+
- 环境安装要求
- pip install -r requirements.txt
- TensorFlow计算的一般流程
- 生成或者导入数据generate or import data
- 所有的机器学习算法都需要数据,在这里我们可以自己生成数据或者使用外部数据,有的时候可以更好地依赖于生成的数据,因为我们想知道期望的结果,有的时候我们会选择使用公开的数据集。
- 转换或者是正则化数据 transform or normalize data
- 有的时候数据并不是TensorFlow能够接受的期望的形式,比如说数据的维度不对或者是数据的类型不对,所以我们必须要在使用之前对数据进行转换处理,大部分的算法需要对数据进行正则化处理,TensorFlow提供了可以正则化处理数据的功能
- data=tf.nn.batch_norm_with_global_normalization(...)
- 设置算法的参数set algorithm parameters
- 我们的算法通常在整个处理过程当中都需要参数,比如说:迭代次数,学习率或则我们选择的其他的固定参数,我们应该以一种良好的形式去初始化那些所有的参数,以便方便我们能够方便用户可以很好的使用它们。
- learning_rate=0.01 iterations=10000
- 初始化变量和占位符initialize variables and placeholders
- tensorflow依赖于用户告诉它们如何进行更改,TensorFlow会在优化过程当中不断的更新变量以减小损失函数,为了做到这些,所以我们需要给占位符喂数据,我们需要初始化所有的那些变量和参数,给以适当的数据类型type和大小size,所以使TensorFlow知道接下来应该怎么做,
- a_var=tf.constant(42)
- x_input=tf.placeholder(tf.float32,[None,input_size])
- y_input=tf.placeholder(tf.float32,[None,num_class])
- 定义模型结构Define Model Structure
- 当我们有了数据,初始化了所有的变量和占位符,接下来我们就应该定义模型结构了,通过构建一个计算图computational graph,我们告诉TensorFlow应该在变量和参数上面执行什么操作以便能够达到我们期望的目的,接下来就计算图将会进行更多的讨论
- y_pred=tf.add(tf.mul(x_input,weights_matrix),b_matrix)
- 定义损失函数declare loss functions
- 定义了模型结构之后,我们开始计算输出,这就是我们为什么定义了损失函数,损失函数的重要之处在于能够告诉我们预期值距离实际值的距离,更多不同的期望函数在接下来会有介绍
- loss=tf.reduce_mean(tf.square(y_actual-y_pred))
- 初始化并且开始训练模型initialize and train model
- 现在我们已经具备了一切,然后开始创建一个实例或者我们的计算图通过给计算图喂入数据,然后让TensorFlow更好的能够改变变量和进行预测我们的训练数据,下面是初始化计算图的一种方式
- with tf,Session(graph=graph) as session:
- session.run()
- 我们可以使用另外一种方式
- session=tf.Session(graph=graph) session.run(....)
- (可选)评估模型 Evaluate the model
- 当我们构建训练完我们的模型之后,我们通过使用新的数据按照一些特定标准来评估我们的模型
- (可选)预测新的结果
- 总结Summary
- 总体来说,在TensorFlow当中可以设计为如下的循环结构

- 通过占位符喂入数据,
- 估算计算图的输出
- 通过损失函数计算期望结果
- 使用反向自动求导更新模型变量
- 重复以上过程直到满足某一个特定的标准
- (完)
附件列表
1、TensorFlow如何工作?的更多相关文章
- Tensorflow学习笔记(一):MNIST机器学习入门
学习深度学习,首先从深度学习的入门MNIST入手.通过这个例子,了解Tensorflow的工作流程和机器学习的基本概念. 一 MNIST数据集 MNIST是入门级的计算机视觉数据集,包含了各种手写数 ...
- (转)TensorFlow 入门
TensorFlow 入门 本文转自:http://www.jianshu.com/p/6766fbcd43b9 字数3303 阅读904 评论3 喜欢5 CS224d-Day 2: 在 Da ...
- TensorFlow从1到2(一)续讲从锅炉工到AI专家
引言 原来引用过一个段子,这里还要再引用一次.是关于苹果的.大意是,苹果发布了新的开发语言Swift,有非常多优秀的特征,于是很多时髦的程序员入坑学习.不料,经过一段头脑体操一般的勤学苦练,发现使用S ...
- 初见TensorFlow :知其所以然
2.1 TensorFlow的主要依赖包 TensorFlow依赖的两个最主要的工具包——Protocol Buffer和Bazel. 2.1.1 Protocol Buffer Protocol B ...
- Tensorflow[架构流程]
1. tensorflow工作流程 如官网所示: 根据整体架构或者代码功能可以分为: 图1.1 tensorflow架构 如图所示,一层C的api接口将底层的核运行时部分与顶层的多语言接口分离开. 而 ...
- Tensorflow之基于MNIST手写识别的入门介绍
Tensorflow是当下AI热潮下,最为受欢迎的开源框架.无论是从Github上的fork数量还是star数量,还是从支持的语音,开发资料,社区活跃度等多方面,他当之为superstar. 在前面介 ...
- 对比深度学习十大框架:TensorFlow 并非最好?
http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow ...
- Torch,Tensorflow使用: Ubuntu14.04(x64)+ CUDA8.0 安装 Torch和Tensorflow
系统配置: Ubuntu14.04(x64) CUDA8.0 cudnn-8.0-linux-x64-v5.1.tgz(Tensorflow依赖) Anaconda 1. Torch安装 Torch是 ...
- windows10配置tensorflow深度学习环境(GPU版)各种坑
我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...
随机推荐
- 笔记(tm_springboot)
1.@change="getFile($event)" 2.File imageFolder= new File(request.getServletContext().getRe ...
- JavaScript的流程控制
JavaScript的流程控制 1.if...else if...else... 2.while 3.for 4.forEach 5.for...in... 完整代码如下: <!DOCTYPE ...
- 洛谷P1223 排队接水
https://www.luogu.org/problem/P1223 #include<bits/stdc++.h> using namespace std; struct st { i ...
- 2020牛客竞赛 DP F 碎碎念
作者:儒生雄才1链接:https://ac.nowcoder.com/discuss/366644来源:牛客网 题目连接:https://ac.nowcoder.com/acm/contest/300 ...
- WebViewJavascriptBridge(H5与原生交互)
https://github.com/wangjiaojiao77/WebViewJavascriptBridge(IOS)和 https://github.com/wangjiaojiao77/Js ...
- centos7修改xshell默认访问端口由22修改为62058
1.vim /etc/ssh/sshd_config 2.新加端口62058:Port 62058 3.重启sshd服务:systemctl restart sshd 4.将新加端口添加到防火墙并重启 ...
- Python3标准库:string通用字符串操作
1. string:通用字符串操作 string模块在很早的Python版本中就有了.以前这个模块中提供的很多函数已经移植为str对象的方法,不过这个模块仍保留了很多有用的常量和类来处理str对象. ...
- codeforces Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid
#include<bits/stdc++.h> using namespace std ; int n; struct City { int id; long long x,y; //坐标 ...
- pikachu练习平台(XSS-漏洞测试案例(cookie的窃取和利用、钓鱼攻击、XSS获取键盘记录))
XSS-漏洞测试案例 xss案例 1.cookie的窃取和利用 2.钓鱼攻击 3.XSS获取键盘记录 在进行案例之前首先要搭建xss后台 搭建xss后台 1.在pikachu文件夹下面,把pkxss单 ...
- PHP SDK+Oss 上传文件流
// Endpoint以杭州为例,其它Region请按实际情况填写. $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // 云 ...