Eager模式每进行一步输入就可以得出一步结果,我们下面直接用代码举例子

首先我们导入库,查看此时是否是eager模式,tensorflow2.0及以上的版本,默认开启eager模式

我们之前的项目均开启了Eager模式,下面介绍一个常见的张量操作

目录

1  计算获取张量

2  直接创建张量 tf.constant()

3  转换获取张量 tf.conver_to_tensor()

4  张量与python数据类型变量计算

5  张量与np.ndarray计算

6  直接转换张量

7  变量操作

7.1  创建变量 tf.Variable()

7.2  改变变量 assign()

7.3  增大与减小变量 assign_add()与assign_sub()

7.4  读取变量 read_value()

8  记录一次计算后梯度变化过程

8.1  记录变量

8.2  记录常量

8.3  记录多次计算后梯度变化过程


1  计算获取张量

我们现在定义一个x

然后令x乘x,之后复制给m

我们显示出来看一下

我们可以看到m的类型为tf.Tensor,Tensor是张量的意思,它有两个属性,shape与dtype,与np.ndarray很类似

上面这种操作就是eager模式的体现,由于我们之前使用的都是eager模式,所以我们没有感觉到缺失eager模式的不便捷

2  直接创建张量 tf.constant()

下面我们再建立一个张量,使用tf.constant方法

3  转换获取张量 tf.conver_to_tensor()

我们使用tf.conver_to_tensor()转换一个值获取张量

4  张量与python数据类型变量计算

在eager模式中,张量是可以直接与数值进行运算的,我们在卫星图像分类中使用过

此处的result就是一个张量,他并不是一个整形数据或浮点型数据,但是它依然可以与0.5进行比较

我们在这里再举个例子,使用刚刚创建的num

我们发现张量可以直接与整形数据进行取余运算

5  张量与np.ndarray计算

我们首先创建一个np.ndarray

我们使用刚刚创建的a与其相加(a是刚刚创建的张量对象)

发现也是可以相加的

6  直接转换张量

我们举两个例子,第一个我们直接使用刚刚的计算结果e,我现在要将其转变为list

我们再使用之前的num

7  变量操作

7.1  创建变量 tf.Variable()

我们使用tf.Variable()创建变量,刚刚使用tf.constant()创建的是常量

7.2  改变变量 assign()

我们使用assign()直接改变变量v

我们发现值变为了5

7.3  增大与减小变量 assign_add()与assign_sub()

我们先增大变量

发现现在值为7

之后再减小变量

发现现在值为4

7.4  读取变量 read_value()

我们发现使用read_value()读取变量后的结果为tensor

8  记录一次计算后梯度变化过程

只能记录类型为float的变量或常量

8.1  记录变量

我们求解loss对w的微分

  • w的平方对w微分为2w,w本身为1,是对的

8.2  记录常量

需要加入watch()

8.3  记录多次计算后梯度变化过程

现在我们求z对w的微分,这个就属于多次计算,我们要在GradientTape()加入参数persistent并将其置为True

19.Eager模式相关推荐

  1. 【小白学PyTorch】扩展之Tensorflow2.0 | 20 TF2的eager模式与求导

    [机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 扩展之Tensorflow2.0 | 19 TF2模型的存储与载入 扩展之Tensorflow2.0 | 18 ...

  2. C#设计模式(19)——状态者模式(State Pattern)

    原文:C#设计模式(19)--状态者模式(State Pattern) 一.引言 在上一篇文章介绍到可以使用状态者模式和观察者模式来解决中介者模式存在的问题,在本文中将首先通过一个银行账户的例子来解释 ...

  3. tensorflow eager 模式下打印dataset中的数据

    tensorflow eager 模式下打印dataset中以及经过feature column后的数据 由于调试的需求,需要对比dataset中的原始数据和经过feature_column后的数据, ...

  4. Tensorflow2——Eager模式简介以及运用

    Eager模式简介以及运用 1.什么是Eager模式? 2.Eager模式下的基本运算 1)基本运算 2)当做python运算的时候,tensor自动的变成一个python对象去参与运算 3)有关于变 ...

  5. OneFlow源码解析:Eager模式下的SBP Signature推导

    作者|郑建华 更新|赵露阳 OneFlow 的 Global Tensor 有两个必要属性: Placement:决定了 tensor 数据分布在哪些设备上. SBP:决定了 tensor 数据在这些 ...

  6. 作业19——夜间模式的开启与关闭,父模板的制作

    夜间模式的开启与关闭 放置点击的按钮或图片. 定义开关切换函数. onclick函数调用. 父模板的制作 制作网站网页共有元素的父模板html,包括顶部导航,中间区块划分,底部导航,底部说明等. 汇总 ...

  7. 设计模式——19.迭代器模式

    迭代器模式(Iterator) "数据结构"类模式 当一些组件在内部具有特定的数据结构,为了不让客户程序对这些数据结构产生依赖而导致破坏组件的复用性.此时,将这些特定的数据结构封装 ...

  8. 《设计模式入门》 19.命令模式

    命令模式就是将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开.这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存.传递.调用.增加与管理. 一般命令模式由四类组成: 抽象命令 ...

  9. 游戏设计模式阅读笔记19——优化模式(空间分区)

    目录 一.意图 二.动机 三.空间分区 1.适用场景: 2.实例代码 四.注意 1.划分是层次的还是平面的? 2.划分依赖于对象数量吗? 空间分区 · Optimization Patterns · ...

最新文章

  1. CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题
  2. ARM Linux 3.x的设备树(Device Tree)【转】
  3. 电信服务器维修人员职责,维修人员岗位职责
  4. Cisco二层交换机命令
  5. C#如何安全、高效地玩转任何种类的内存之Span的本质(一)。
  6. java 基础第一季
  7. 贝叶斯思维 统计建模的python_贝叶斯思维统计建模的Python学习法
  8. 042_前端规范 2021-06-03
  9. 苹果自带录屏在哪_苹果录音功能在哪?iPhone自带录音功能的正确打开方式
  10. How to tie your shoes [by:姚铭]
  11. Python 3.65 pip升级出现ModuleNotFoundError: No module named 'pip'问题
  12. LINUX查找所有文件,按照时间排序
  13. eviews计算covar_covariance(eviews做协整检验步骤)
  14. 四象限法推导lm曲线_数据分析四象限法详解
  15. matlab泰勒 习题,泰勒公式及其应用典型例题
  16. 服务器硬盘噪音大怎么回事,东芝服务器硬盘响声大吗?
  17. 随机洗牌算法+matlab,洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
  18. Java的特征/特点(全)
  19. java faker_Java基于Javafaker生成测试数据
  20. 南农计算机复试英语笔试,考研复试经验分享:英语+专业课+综合面试

热门文章

  1. Maximize The Beautiful Value (前缀和贪心)
  2. 黑莓8700软件_莓友shadywb分享:我眼中的黑莓
  3. Oracle手动建库常见问题
  4. ros学习记录:Gazebo加载速度慢,长时间停在“Preparing your world”
  5. android html5播放器,用 HTML5 播放器在 iOS 或 Android 等移动设备上播放视频
  6. VC 控制台颜色设置
  7. 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:
  8. 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握
  9. 运筹学研究者关注的Github和CSDN账号
  10. SIM900A(GSM模块)学习