问题标签 [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.

0 投票
0 回答
296 浏览

r - 如果不直接使用模型输出计算损失,Tensorflow 急切执行不会获得梯度

我不确定之前是否有人问过这个问题,但我在使用自定义损失函数计算梯度时遇到了问题。我不太确定如何为问题命名,但似乎除非我直接在损失计算中使用模型输出,否则我会收到以下错误:

我失败的损失计算是:

grad_tape$gradient(mdl_loss, mdl$variables) 函数返回一个空列表。但是,以下工作:

请注意,prd是使用mdl_output 构建的,而rnk是使用来自 numpy 数组的 R 矩阵构建的。

为什么我需要做后者?prd传递的内容以某种方式被rnk丢失了?

FWIW:我正在使用带有急切执行的 R tensorflow 和 keras 包。

0 投票
1 回答
3687 浏览

python - 如何在 TensorFlow 的急切执行中使用 Keras.applications 的 ResNeXt?

我正在尝试从TensorFlow 1.10 中的Keras 应用程序获取 ResNet101 或 ResNeXt,由于某种原因,它们仅在 Keras 的存储库中可用:

但是,这会导致:

我从它的 GitHub 主分支安装了 Keras,因为出于某种奇怪的原因,Keras 和 TensorFlow 的 Keras API 的 pip 安装不包括 ResNet101、ResNetv2、ResNeXt 等。有谁知道我如何在 TensorFlow 的热切中运行这些模型(最好是 ResNeXt)执行?

0 投票
1 回答
1863 浏览

python - tensorflow 2.0:tf.GradientTape().gradient() 返回无

我为我的研究生研究设计了自己的损失函数,它计算了损失直方图和正态分布之间的距离。我在关于鸢尾花分类的 Tensorflow 2.0教程的设置中实现了这个损失函数。

我检查了我的损失值和类型,它们与教程中的相同,但grads来自我tape.gradient()的是None

这是在 Google Colab 中完成的:

TensorFlow version: 2.0.0-beta1

Eager execution: True

我的损失和梯度代码块:

教程中的代码是:

我觉得我的自定义损失的计算应该无关紧要,因为数据类型和形状是相同的,但如果确实如此,这是我的损失函数:

我搜索并尝试添加tape.watch(),检查我返回的缩进,但他们没有解决这个None问题。我将非常感谢任何解决此问题的建议。谢谢!

tf.GradientTape类的定义在这里

0 投票
1 回答
156 浏览

tensorflow - 张量流中急切和非急切执行之间的矩阵乘法

当 tensorflow 在 Eager 模式与图形模式下运行时,矩阵乘法值会有所不同

tensorflow 中急切和非急切执行的代码流是不同的。但是这些值必须理想地匹配,但事实并非如此。

急切执行:

急切执行的输出:[[-2.77555756e-17 -2.77555756e-17 -2.77555756e-17]

图表执行:

图执行的输出:[[-5.55111512e-17 -5.55111512e-17 -5.55111512e-17]]

对于简单的矩阵乘法,这两种模式之间的输出差异不是很大吗?(虽然是e-17)

0 投票
0 回答
121 浏览

python - 为 Graph 和 Eager Execution 子类化 tf.Tensor

我想子类化这个tf.Tensor类。这个想法是子类的对象应该表现得像张量(即我可以使用它们来进行任何类型的 tf 操作),但它们还应该具有其他属性,这些属性在我的框架内为它们提供特定的行为。

到目前为止,我在图形模式下工作,我只是做这样的事情:

现在,我想只在渴望模式下做同样的事情,但我真的不知道(而且我什么也没找到)关于EagerTensor实例化。显然,该op属性不再有意义。

我尝试通过该方法创建对象,但在子类化和遵循创建路径__new__时发现了问题。EnrichedTensor

所以,我想知道是否有任何方法可以干净地以“声音”的方式做到这一点。

0 投票
0 回答
92 浏览

python - tensorflow程序没有运行到最后就终止了

我按照 tensorflow 网站上关于数据集创建的教程编写了以下图像分类代码。问题是在创建数据集变量后,代码只是停止执行并终止。

我最初的猜测是,这可能是急切执行的问题。我尝试使用 Visual Studio 代码调试器进行调试,但无法取得任何进展。

0 投票
0 回答
380 浏览

python - 使用 GradientTape 时 Keras 模型无法训练

我有一堂课,里面有一个模型:

我使用以下内容来构建模型:

使用以下几行进行训练时:

模型训练没有任何问题。

但在单独运行中,使用以下代码:

损失在几个 epoch 之后就卡住了。计算的准确度也停止在 0.5。

有谁知道如何使用 Keras 模型进行训练GradientTape

0 投票
1 回答
6576 浏览

tensorflow - 无法启用 TensorFlow 急切执行

我有一个安装了 Tensorflow 2.0.0-beta1 的 conda 环境。但是,每当我导入 tensorflow 并尝试启用急切执行时,我都会收到错误消息:

我为此运行的唯一代码是:

这是 tensorflow 2.0 beta 模块的错误还是我的安装问题?

0 投票
1 回答
1698 浏览

python - Tensorflow 2.0.0-beta1:'EagerTensor 对象不可调用'

我正在尝试在 google colab 上使用 Tensorflow 和 Keras API 实施自定义培训。我使用 TensorFlow 2.0.0-beta1。

我的损失函数代码部分是:

哪个会产生此错误:

0 投票
0 回答
333 浏览

python - 在运行 Matlab 引擎时,Tensorflow 2.0 中是否有任何方法可以将张量作为 Matlab 函数的参数传递?

这是一个很长的标题,但希望我能用几句话正确地解释自己:

我正在尝试使用 Tensorflow 最小化给定的得分函数,灵感来自于Minimize a function of an variable in Tensorflow 中发表的内容。这种评分函数的值是通过调用一个 Matlab 脚本获得的,该脚本只需要提供一个参数(与输入变量相关,一个张量)。

为此,我使用了 Tensorflow 2.0 的 beta 版本,其中包括一个称为急切执行的功能,它允许访问每个张量的内容,而无需运行任何会话。

在这里,您可能会发现我的代码的草稿:

可悲的是,此解决方案仍然无法解决,因为我收到以下错误消息作为输出:

经过详尽的搜索,我认为这个问题与这篇旧帖子有关(TensorFlow: 'ValueError: No gradients provided for any variable'),这是通过直接从成本函数到张量进行相应操作来解决的。但是,我别无选择,只能调用此 matlab 函数并将其输出用作成本函数的输出。

您对如何克服这一点有任何想法吗?

非常感谢您,祝大家度过愉快的一周!