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 ...
随机推荐
- opencv 实现人脸检测(harr特征)
我这里用的是已经训练好的haar级联分类器. 眼睛检测 haarcascade_eye_tree_eyeglasses.xml 人脸检测 haarcascade_frontalface_alt2.xm ...
- os.getcwd()和os.path.realpath(__file__)的区别
https://blog.csdn.net/xiaminli/article/details/74944580 python中split().os.path.split()函数用法
- 一点点学习PS--实战五
本节实战的内容,新学习到的功能是:人物影子边缘.立体的心形 1.工具的使用: (1)滤镜--模糊--特殊模糊 (2)滤镜--滤镜库--艺术效果--水彩 (3)滤镜--滤镜库--纹理化 (4)自动形状工 ...
- 在PDB级别中如何切换或重建UNDO表空间
Oracle 12.1版本中,UNDO表空间仅存在CDB级别(共享UNDO),来自于AskScuti博客园. Oracle 12.2版本开始,UNDO表空间同时可以存在每个PDB级别(本地UNDO). ...
- Jarvis OJ - class10 -Writeup
Jarvis OJ - class10 -Writeup 转载请注明出处:http://www.cnblogs.com/WangAoBo/p/7552266.html 题目: Jarivs OJ的一道 ...
- POJ 3264 Balanced Lineup(ST模板)
链接:http://poj.org/problem?id=3264 题意:给n个数,求一段区间L,R的最大值 - 最小值,Q次询问 思路:ST表模板,预处理区间最值,O(1)复杂度询问 AC代码: # ...
- 关于pip命令的几点提醒
pip install xxxxx 总会遇到安装失败,或者下载速度很慢的情况.这是因为从国外安装资源包,造成速度慢,那有咩有国内的源呢,有的. 国内源: 清华:https://pypi.tuna.ts ...
- CSS盒子模型探讨
盒模型 html文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒模型.盒模型通过四个边界来描述:margin(外边距),border(边框),padding ...
- css 页面滚动 多背景固定不动
经常看到一些网站,滚动页面但是背景图不会跟着滚动,好像一直固定在浏览器窗口,感觉挺酷的,哇哦 ~ ~ 原来都是 background-attachment 这位大兄弟的功劳 background-at ...
- js -- 车牌号对应的归属地js文件
/*车牌号对应的归属地*/ let cardCallerloc = new Map(); // 北京市(京) cardCallerloc.set("京A", "北京市&q ...