TensorFlow基础

偏执的太偏执、 2023-07-03 12:23 71阅读 0赞

深度学习在模式识别方向,尤其是在图像、声音、语音、语言和时间序列数据上表现出色。运用深度学习,你可以对数据进行分类、预测、聚类以及特征提取。2015年11月,谷歌发布了TensorFlow。TensorFlow在谷歌的大多数产品,比如谷歌搜索、垃圾邮件检测、语音识别、谷歌助手、谷歌即时桌面以及谷歌相册中得到了运用。

TensorFlow具有实施部分子图计算的独特功能,因此可以通过分割神经网络的方式进行分布式训练。换句话说,就是TensorFlow允许模型并行和数据并行。TensorFlow提供了多种API。最低阶的API——TensorFlow Core——可以提供完整的编程控制。

关于TensorFlow要注意以下几点:

  • 图是对于计算的一种描述。
  • 图包含作为操作的节点。
  • 在一个给定的会话语境中执行计算。
  • 对于任何计算过程而言,图一定是在一个会话里启动。
  • 会话将图操作加载到像CPU或者GPU这样的设备上。
  • 会话提供执行图操作的方法。
TensorFlow结构

在这里插入图片描述

对于安装,请访问官方教程https://www.tensorflow.org/install/。

张量

张量是TensorFlow中的基本数据单元。张量是一个数学对象,他是对标量、向量和矩阵的泛化。张量可以表示为一个多维数组。零秩(阶)张量就是标量。向量或者数组就是秩为1的张量,而矩阵是秩为2的张量。简言之,张量可被认为是一个n维数组。
下面是一些张量的例子:


























张量 解释
5 秩为0的张量,这是一个形状为[]的标量
[2.,5.,3.] 秩为1的张量,这是一个形状为[3]的向量
[[1.,2.,3.],[4.,5.,6.]] 秩为2的张量,这是一个形状为[2,3]的矩阵
[[[1.,2.,3.],[7.,8.,9.]]] 秩为3的张量,其形状为[2,1,3]

计算图与会话

TensorFlow因其TensorFlow Core程序而受欢迎,TensorFlow Core有两个主要作用:

  • 在构建阶段建立计算图
  • 在执行阶段运行计算图

我们来看一下TensorFlow是如何工作的:

  • 其程序通常被结构化为构建阶段和执行阶段。
  • 构建阶段搭建具有节点(操作)和边(张量)的图。
  • 执行阶段使用会话来执行图中操作。
  • 最简单的操作是一个常数,它没有输入,只是传递输出给其它计算操作。
  • 一个操作的例子就是乘法(或者是取两个矩阵作为输入并输出另一个矩阵的加法或减法操作)。
  • TensorFlow库具有一个默认图来给构建操作添加节点。

计算图是由一系列的TensorFlow操作排成的节点组成的。
计算图定义了计算。它并不执行计算,也不保留任何值。它用来定义代码中提及的操作。同时,创建了一个默认的图。因此,你不必创建图,除非需要创建图用于多种目的。

会话允许你执行图或者只执行部分图。他为执行分配资源(在一个或多个CPU或者GPU上),他还保留了中间结果和中间变量值。

在TensorFlow中创建的变量的值,只在一个会话内是有效的。如果你尝试在之后的第二个会话里访问其值,就会报错,因为变量不是在那里初始化的。

想运行任何操作,需要给图创建一个会话,会话会分配内存来存储当前变量值。

演示代码:

  1. import tensorflow as tf
  2. sess = tf.Session()
  3. #创建一个新的图,不是默认的图
  4. myGraph = tf.Graph()
  5. with myGraph.as_default():
  6. variable = tf.Variable(30,name="navin")
  7. initialize = tf.global_variables_initializer()
  8. with tf.Session(graph=myGraph) as sess:
  9. sess.run(initialize)
  10. print(sess.run(variable))

运行结果:
运行结果

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 TensorFlow基础

    深度学习在模式识别方向,尤其是在图像、声音、语音、语言和时间序列数据上表现出色。运用深度学习,你可以对数据进行分类、预测、聚类以及特征提取。2015年11月,谷歌发布了Tens

    相关 TensorFlow基础概念

    首先祝自己生日快乐!! 趁着大学最后的一点时间学习一点新的东西,希望自己能坚持下去。 这里记录一点这几天学习中记录下的一些概念以及注意点。 基础概念 计算图(g

    相关 Tensorflow基础

    一、基础概念 TensorFlow是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),