1.1tensorflow2.x简介计算图graph,张量tensor,会话session
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
https://www.cnblogs.com/bclshuai/p/11380657.html
1
1.1 简介
1.1.1 定义
先对tensorflow有个全局的概念,TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,用于编辑开发深度学习项目。通过数据训练得到数据模型,将数据模型用于实际应用。可以在分布式系统上进行大量的训练学习。开发和部署更加高效和方便。tensor是张量的意思,张量就是各种维度的数据,tensorflow就是数据的流动。张量的流动则是指保持计算节点不变,让数据进行流动。张量从图中从前到后走一遍就完成了前向运算;而残差从后往前走一遍,就完成了后向传播。
1.1.2 特征
(1) 高度的灵活性,将你的计算表示为数据流图,就可以使用tensorflow来构建图,tensorflow就会帮助你去训练。
(2) 跨平台可移植性,tensorflow可以在CPU或者GPU上台式机、笔记本。手机等设备上运行,云服务(AWS、Google和Azure)的支持。
(3) 自动求微分,基于梯度的机器学习算法会受益于Tensorflow自动求微分的能力。作为Tensorflow用户,你只需要定义预测模型的结构,将这个结构和目标函数(objective function)结合在一起,并添加数据,Tensorflow将自动为你计算相关的微分导数。计算某个变量相对于其他变量的导数仅仅是通过扩展你的图来完成的。
(4) 多语言支持,支持所有流行语言,如 Python、C++、Java、R和Go。
(5) 性能最优化,比如说你又一个32个CPU内核、4个GPU显卡的工作站,想要将你工作站的计算潜能全发挥出来?由于Tensorflow 给予了线程、队列、异步操作等以最佳的支持,Tensorflow 让你可以将你手边硬件的计算潜能全部发挥出来。你可以自由地将Tensorflow图中的计算元素分配到不同设备上,Tensorflow可以帮你管理好这些不同副本。
1.1.3 数据流图
tensorflow是通过一个数据流图来组织训练的逻辑流程,包括输入、操作节点、数据流线、输出四部分组成。图中的每个节点是一个操作(operation),每一条方向线则表示数据流动的关系,这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。图将数据(张量,输入训练数据和节点变量参数,输出结果数据)和节点(操作operation)组织起来,形成流程图,机器学习就是去不断的计算这张图,再根据结果调整节点变量的值,在重新计算,直到结果满意(小于一个阈值),或者结果基本不变为止。
1.1.4 张量tensor
数据流图中的输入训练数据和节点变量参数,输出结果数据都是张量,张量有维度(阶数rank),长度(形状shape),类型。0维表示常量,1维表示向量,二维表示矩阵,三阶张量是数据立体,任意维度的数据统称为张量。
1.1.5 会话Session
为了获得图的计算结果,图必须在会话中被启动。图是会话类型的一个成员,会话类型还包括一个runner,负责执行这张图。会话的主要任务是在图运算时分配CPU或GPU。
下一篇: