1、,TensorFlow 是一个采用计算图的形式表述数值计算的编程系统,本身是一个开源软件库。TensorFlow计算图中每一个节点表示一次数学计算,每一条边表示计算之间的依赖关系。张量(tensor)是计算图的基本数据结构,可以理解为多维数据,流(Flow)表达了张量之间通过计算互相转化的过程。它灵活的架构可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领
2、域。,TensorFlow是什么?,张量(Tensor)是一个物理量,对高维(维数 2)的物理量进行“量纲分析”的一种工具。简单的可以理解为:一维数组称为矢量,二维数组为二阶张量,三维数组为三阶张量 计算图 用“结点”(nodes)和“线”(edges)的有向图来描述数学计算的图像。“节点”一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor),
3、TensorFlow架构,TensorFlow的系统结构以C API为界,将整个系统分为前端和后端两个子系统,TensorFlow基本使用,使用 tensor 表示数据通过变量(Variable)输入训练数据,维护状态使用计算图(computational graph)来表示计算任务在会话(Session)的上下文(context)中执行计算图,TensorFlow基本使用-Tensor,Tensor是TensorFlow中的核心单元,TensorFlow 程序使用 tensor 数据结构来代表所有的数据,计算图中,操作间传递的数据都是 tensor.你可以把 TensorFlow tenso
4、r 看作是一个 n 维的数组或列表,如同矩阵一样导入tensorflow使用Tensor,import tensorflow as tf,node1=tf.constant(3.0,tf.float32)node2=tf.constant(1.0,2.0)#also tf.float32 implicitlynode3=tf.constant(1,2,3,4,5,6,name=node3)print node1,n,node2,n,node3,Tensor(Const:0,shape=(),dtype=float32)Tensor(Const_1:0,shape=(2,),dtype=floa
5、t32)Tensor(”node3:0,shape=(3,2),dtype=int32),TensorFlow基本使用-计算图,计算图是用图中节点呈现一系列操作的图表。包括:构建计算图运行计算图构建简单的计算图,每个节点将零个或多个tensor作为输入,产生一个tensor作为输出。一个典型的节点为常量,他将被tensorflow内部存储起来:,import tensorflow as tfinput1=tf.constant(1.0,2.0,3.0,name=x_const)input2=tf.Variable(3.0,4.0,5.0,name=y_var)output=tf.add(inp
6、ut1,input2,name=add_op)print input1,n,input2,n,output,Tensor(x_const:0,shape=(3,),dtype=float32)Tensor(add_op:0,shape=(3,),dtype=float32),TensorFlow基本使用-计算图,计算图是用图中节点呈现一系列操作的图表。构建计算图运行计算图构建的计算图必须在tensorflow的session中才能运行:,#-*-coding:utf-8-*-import tensorflow as tfinput1=tf.constant(1.0,2.0,3.0,name=“
7、x_const”)#常量input2=tf.Variable(3.0,4.0,5.0,name=“y_var)#变量必须有初值output=tf.add(input1,input2,name=add_op)sess=tf.Session()#运行计算图之前创建session#调用 sess 的 run()方法来执行矩阵乘法 op,feed 用来传入变量数据result=sess.run(output,feed_dict=input2:6.0,6.0,6.0)#返回值 result 是一个 numpy ndarray 对象.print result:,result,type:,type(resu
8、lt)#任务完成,关闭会话.sess.close(),result:7.8.9.,type:,TensorFlow机器学习例子-一元线性回归,回归分析确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。一元线性回归只涉及一个自变量和一个应变量应变量与自变量呈线性关系应变量与自变量的关系可以用一个线性方程表示,=+,TensorFlow机器学习例子-一元线性回归,最小二乘对于第个应变量值,估计值=+对于每一个,估计值 与实际值 距离的平方和=()2=()2 要达到最小,则对和求偏导数,Q的极小值点在偏导数为0的时候取得梯度下降算法利用计算机求极值,可以用梯度下降算法进行多次迭代,逼近极
9、值点,求出和,TensorFlow机器学习例子-一元线性回归,100个散点样本,求出回归方程构建计算图,TensorFlow机器学习例子-一元线性回归,100个散点样本,求出回归方程运行计算图,TensorFlow机器学习例子-一元线性回归,100个散点样本,求出回归方程TensorBoard查看计算图,TensorFlow for Android Demo,功能:离线识别照片中的物体,给出百分比表示的确认程度,TensorFlow for Android Demo,Android上的TF核心库是C+写的,用Bazel编译而成TensorFlow提供了Java API给Android app调用Demo app利用预先训练好的识别模型进行离线识别预先训练的模型包括protocal buffer形式的模型和对应的物体标签,TensorFlow for Android Demo,Thanks,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1