当前位置: 首页 > news >正文

TF1和TF2

TensorFlow2默认采用Eager执行模式即动态图模式,TensorFlow默认采用Graph执行模式即静态图模式,动态图模式相比静态图模式而言,在开发过程中更易于调试,可以像debug python代码一样,去debug TensorFlow计算图的执行步骤并可即时看到执行结果,而在部署过程中,静态图模式执行效率更高,这种执行效率高体现在不用实时的去构建计算图了,少了一个编译过程

静态图的执行分为两步:1、构建计算图,2、创建会话,在会话中执行计算图得到结果,这也是静态图不易于调试的原因

TensorFlow会生成默认计算图,但不会默认生成会话,但是可以把声明的会话,显式的设置成默认会话,这样就可以用eval函数来获取张量的值,需要注意的一点是,设置默认会话时,需要在上下文环境中设置,即要使用with关键字

张量即Tensor,在TensorFlow中所有的数据都是通过张量的形式来表现的,张量在在数据角度可以理解成一个多维数组,而在代码层次可以理解为是一个类,它包含了值,计算过程,数据类型。

零阶张量即标量(scalar),也就是一个数,它的形状用()表示

一阶张量即向量(vector),也就是一维数组,它的形状用(D1,)表示,D1表示这个维度所包含数据的个数,例如[2,4,4]这个数组,它的形状就是(3,)

n阶张量可以理解成多维数组,例如三阶张量t1 = [[[1,2],[2,3]],[[1,2],[2,3]]],它的形状就是(2,2,2),三个数表示它是个3阶张量,每个数表示在每个维度上数据的个数

张量既然可以看成多维数组,那么它取值按照下标索引去取就可以了,例如上面这个三阶张量t1,取其第二个维度的第一个组值,可以表示为t1[0][0]

常量:程序运行过程中不会改变的值,声明方式:t1 = tf.constatnt(value)

变量:程序运行过程中会改变的值,声明方式 t2 = tf.Variable(value,name)

常量和变量除了上述不同之外,还有一个不同,常量在参与运算之前,会自动赋值,但是变量需要有一个显式的初始化动作,单个变量初始化可以用init_op =t2.initializer()方法就行了,所有变量初始化init_op =
tf.global_variables_initalizer()

占位符即tf.placeholder(dtype.shape=None,name=None)也是也一种变量,不同的是,它不需要初始化,主要用来承接外部输入值

TensorBoard 是TensorFlow的可视化工具,在安装TensorFlow时会一并安装,它通过读取TensorFlow的运行日志来可视化TensorFlow的运行状态

http://www.jsqmd.com/news/22630/

相关文章:

  • 单变量线性回归tensorflow版
  • Spark计算引擎
  • 【轨物方案】变频器物联网软硬件一站式解决方案 - 详解
  • 人工智能初了解
  • 173天隧道技术篇防火墙组策略ICMPDNSSMB协议出网判断C2上线解决方案
  • Hbase分布式数据库
  • 软考六
  • MapReduce并行计算框架
  • 应用安全 ---
  • 实用指南:3DGS 如何理解它?
  • HDFS文件系统
  • Java 类加载器
  • 面试总被追问k8s调度器工作原理, 收藏 == 学废
  • 题解:十二重计数法
  • Wyn 商业智能软件:3D 可视化大屏搭建与设备利用全指南
  • 什么是Java Lambda
  • Java 代理
  • 《算法与数据结构》第七章[算法2]:广度优先搜索(BFS) - 指南
  • 中转API为什么比官方更便宜?AI中转站成本揭秘
  • Java 混合编程
  • Java 语法糖
  • JAVA RMI编程
  • 大资料毕业设计选题推荐-基于大数据的全球产品库存数据分析与可视化系统-大材料-Spark-Hadoop-Bigdata
  • 纸笔群群友命题乱做
  • 本人对KMP如何匹配到所有结果的算法存在一些疑惑...
  • 字符与Java国际化编程
  • Ubuntu 系统 /dev/sdb2(RAID 关联磁盘)挂载操作手册
  • 2025 年 10 月厨房排烟、厨房排烟罩、厨房排烟系统厂家最新推荐,资质、案例、售后三维测评与选购指南
  • 解决 Windows 下 Claude 通过 cmd/powershell 运行出错失去响应的问题
  • # Ubuntu 根目录空间扩展操作手册(基于 RAID 关联磁盘 /dev/sdb2)