问题标签 [eager-execution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 tf 2.0 训练期间创建 tf.keras 回调以保存每个批次的模型预测和目标
在 tensorflow 2 中,不再支持获取和分配。可以按照https://stackoverflow.com/a/47081613/9949099中提供的答案在自定义 keras 回调中访问 tf 1.x 中的批处理结果 在 tf.keras 和 tf 2.0 下急切执行获取不支持,因此为 tf 1.x 提供的解决方案不起作用。有没有办法在 tf.keras 自定义回调的 on_batch_end 回调中获取 y_true 和 y_pred?
我试图修改在 tf.1 中工作的答案,如下所示
当我运行上面的代码时,代码失败,访问 self.model._targets[0] 或 self.model.outputs[0] 中的数据显然是不可能的
tensorflow - Tensorflow 图执行忽略了更急执行模式下的相等条件
我偶然发现了一些奇怪的张量流行为。在 tf.print 无处不在之后,它导致我出现以下代码所示的原因,但不知道为什么会发生这种情况,除非线程竞争条件或图形构造省略了代码段。看不到它们中的任何一个都应该发生。
这是打印跟踪的一部分:
如图所示,if tf.equal(n_rows[i], 0): # Tried n_rows[i] == 0 too
条件块从未被调用。即使满足相等条件,它也每次都落入“其他”条件。谁能提示我出了什么问题?顺便说一句,调试 tensorflow 运行时也很困难。一旦图形执行运行,VSCode 中的断点就没有命中。tfdbg 也不适用于急切执行。对此的建议对我也非常有益。
我的开发环境:
- 操作系统:Ubuntu18.04
- 蟒蛇:3.6
- 张量流GPU:1.14
- 显卡:RTX2070
- 库达:10.1
- cudnn: 7.6
- IDE:VS 代码
- TensorFlow 模式:渴望执行
提前致谢
tensorflow - variable_scope 和 name_scope 在 TensorFlow 2 中具有急切执行的目的吗?
在 TensorFlow 2 中,Eager Execution 是默认执行。不需要烦人的会话或占位符。
Stack Overflow 上有很多与 , 等相关的问题name_scope
,variable_scope
比如variable_scope 和 name_scope 有什么区别?, tensorflow中名称范围和变量范围有什么区别?, variable_scope 和 name_scope 的实际区别是什么?以及为什么我们使用 tf.name_scope(),因为人们不明白这些函数背后的想法及其目的是可以理解的。本质上,这些函数用于命名底层计算图中的变量。
variable_scope
,name_scope
等在 TensorFlow 2 中是否有任何目的或用途以及急切执行?如果是这样,你能举个例子吗?
python - 数据集的 from_generator 仅在急切模式下失败并显示“只有整数是有效索引”,在图形模式下没有错误
我正在Dataset
使用该from_generator
函数创建一个张量流。在图形/会话模式下,它工作正常:
然而,令人惊讶的是,它使用急切执行失败了:
我假设,由于生成器的主体是没有序列化的纯 python,所以 tensorflow 不会查看 - 实际上不在乎 - 生成器中的内容。但显然情况并非如此。那么为什么 tensorflow 会关心生成器内部的内容呢?假设无法更改生成器,有没有办法以某种方式解决这个问题?
tensorflow - “编译”时如何在渴望模式下执行 TensorFlow 2 Keras Sequential 模型?
我想使用 TF2 的急切执行以“pythonic”方式构建损失,但即使在急切模式下,Keras 也会传递非急切张量。
代码:
如果我y_true
在conditional_loss
TF 中打印会打印一个非急切的张量。
如果我自己构建,我keras.Model()
可以使用参数调用它dynamic=True
以启用急切执行。(参考)。有办法做到keras.Sequential()
吗?
python - 为什么在 TensorFlow 1.15 中有 AttributeError: module 'tensorflow.contrib.eager' has no attribute 'Variable'?
大约一个月前,我在 Google Colab 中成功运行了一个神经风格迁移笔记本教程。但是,本周我无法成功运行完全相同的笔记本,并显示以下错误消息:AttributeError: module 'tensorflow.contrib.eager' has no attribute 'Variable'。
我检查了 Google Colab 中的 Notebook 使用的是 TensorFlow 1.15,当我检查 API 文档时,变量方法存在:https ://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/急切/变量
此错误消息的原因是什么?
python - 在自定义层中禁用了 Tensorflow 2 急切执行
我正在使用通过 pip 在 ubuntu 18.04 框中安装的 TF2
我正在玩自定义图层。
我想调试/检查Attention.call()函数,但是当在函数内设置断点时我无法获取张量值。
在我开始 .fit() 之前,我可以验证急切执行是否已启用
但在 Attention.call() 函数内部,急切执行被禁用
在 call() 执行期间急切执行的任何原因是错误的?如何启用它?
python - 在没有 Keras 的情况下使用 Tensorflow 2.0 和急切执行
所以这个问题可能源于对 tensorflow 缺乏了解。但我正在尝试构建一个多层感知器tensorflow 2.0
,但没有Keras
。
原因是我的机器学习课程要求我们不使用 keras。为什么你可能会问?我不知道。
我已经tensorflow 2.0
用 Keras 轻松实现了我们的模型,现在我想在没有keras
.
这是我的问题。每当我在 上查找文档时Tensorflow 2.0
,甚至自定义培训指南都在使用 Keras。
据我了解,占位符和会话已成为过去tensorflow 2.0
,因此我有点不确定如何构建它。
我可以制作张量对象。我的印象是我需要使用 Eager Execution 并使用渐变胶带。但我仍然不确定如何将这些东西放在一起。
现在我的问题是。我应该从哪里获得更好的理解?哪个方向下降最大?
请告诉我我是否做错了这个堆栈溢出帖子。这是我第一次来这里。
python-3.x - Tensorflow gradientTape 在计算相同的梯度两次时给出不同的结果
我正在尝试使用 TF 2.0。我想记录我的神经网络的梯度和权重范数。为此,我使用以下代码。
这是训练循环:
问题: 运行脚本时,输出层的梯度范数得到相同的值,但双向层的范数(bi_lstm)得到不同的值
这是输出:
我在这里想念什么?
提前致谢
python - 如何使用 tf.keras.Model 保存和恢复模式的权重 - TensorFlow 2.0 - 子类化 API
在此处的示例中,它提到可以将类 tf.keras.Model 子类化,如下所示:
但是,如果我想拥有可变数量的层和可变类型的层怎么办?如何将我的图层对象存储在我的类对象中?
据我了解,我在上面的示例中为属性(dense1,dense2)命名的名称很重要,因为在保存到检查点等时,它将用于引用这些层及其变量?那是对的吗?
我的问题基本上是:如果我不知道我有多少可用的图层,如何将我的图层存储在我的 tf.keras.Model 子类中?然后如何保存和恢复这些层的权重?
我的第一个想法是拥有图层对象的列表,但是对我来说如何保存和恢复这些图层权重并不明显,因为它们不会对应于不同的属性名称。