一、张量 点击返回总目录 二、计算图 三、会话 四、参数 五、神经网络的训练过程 六、前向传播 七、反向传播 八、总结:神经网络搭建的八股
使用TensorFlow搭建神经网络时,我们经常: 使用张量表示数据;使用计算图搭建神经网络;使用会话执行计算图,再优化神经网络中的参数,获得更准确的模型。
一、张量 首先介绍什么是张量。其实,张量就是多维数组,就是列表。用阶表示张量的维度。
0阶张量,就是标量,比如123。一阶张量,叫做向量,表示的是一个一维数组,比如列表[1,2,3]。二阶张量叫做矩阵,表示的是一个二维数组。 判断张量是几阶的,就看黄色框框这个地方有几个"["。有n个就是n阶。所以,张量可以表示0阶到n阶数组。
例:实现两个张量的加法
运行结果: Tensor("add:0", shape=(2,), dtype=float32)
意思是result是一个名字叫“add:0”的张量。shape=(2,):括号中有一个数,表示维度是1;2表示第1个维度里有两个元素。 dtype=float32表示数据是浮点型的。TensorFlow的数据类型有tf.float32(32位的浮点)、tf.int32(32位的整型)等等。
二、计算图
其实上面的例子所描述的,就是一个计算过程,就是一张计算图。从print输出的内容,我们可以看到,只显示出这个结果是个张量,并没有实际运算张量具体的值。所以计算图只描述了计算过程,不计算运算结果。 所谓计算图(Graph),就是搭建神经网络的计算过程,他是承载一个或多个下面这种节点(整个方框里面的是一个节点)的一张图,只搭建网络,不运算。
神经元的基本模型就是上面图中这个样子,其实就是数学里的乘加运算。我们用张量运算描述这个神经元为:
运行结果: Tensor("MatMul:0", shape=(1, 1), dtype=float32) #结果为二维,一行一列的矩阵。 我们从print的结果可以看到,y是个张量,只承载了搭建计算过程的计算图,并没有运算。
三、会话 如果我们想得到运算结果,就要用到会话了。 所谓会话(session),是执行运算图中节点运算的。我们用with结构实现。
例: |
TensorFlow的框架
最新推荐文章于 2024-01-18 02:09:08 发布
本文详细探讨了TensorFlow这一强大的深度学习框架,包括其核心概念、数据流图、会话执行以及模型构建和优化的实践技巧。通过实例解析,帮助读者深入掌握TensorFlow在神经网络中的应用。
摘要由CSDN通过智能技术生成