问题标签 [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.
r - 如果不直接使用模型输出计算损失,Tensorflow 急切执行不会获得梯度
我不确定之前是否有人问过这个问题,但我在使用自定义损失函数计算梯度时遇到了问题。我不太确定如何为问题命名,但似乎除非我直接在损失计算中使用模型输出,否则我会收到以下错误:
我失败的损失计算是:
grad_tape$gradient(mdl_loss, mdl$variables) 函数返回一个空列表。但是,以下工作:
请注意,prd是使用mdl_output 构建的,而rnk是使用来自 numpy 数组的 R 矩阵构建的。
为什么我需要做后者?prd传递的内容以某种方式被rnk丢失了?
FWIW:我正在使用带有急切执行的 R tensorflow 和 keras 包。
python - 如何在 TensorFlow 的急切执行中使用 Keras.applications 的 ResNeXt?
我正在尝试从TensorFlow 1.10 中的Keras 应用程序获取 ResNet101 或 ResNeXt,由于某种原因,它们仅在 Keras 的存储库中可用:
但是,这会导致:
我从它的 GitHub 主分支安装了 Keras,因为出于某种奇怪的原因,Keras 和 TensorFlow 的 Keras API 的 pip 安装不包括 ResNet101、ResNetv2、ResNeXt 等。有谁知道我如何在 TensorFlow 的热切中运行这些模型(最好是 ResNeXt)执行?
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
类的定义在这里
tensorflow - 张量流中急切和非急切执行之间的矩阵乘法
当 tensorflow 在 Eager 模式与图形模式下运行时,矩阵乘法值会有所不同
tensorflow 中急切和非急切执行的代码流是不同的。但是这些值必须理想地匹配,但事实并非如此。
急切执行:
急切执行的输出:[[-2.77555756e-17 -2.77555756e-17 -2.77555756e-17]
图表执行:
图执行的输出:[[-5.55111512e-17 -5.55111512e-17 -5.55111512e-17]]
对于简单的矩阵乘法,这两种模式之间的输出差异不是很大吗?(虽然是e-17)
python - 为 Graph 和 Eager Execution 子类化 tf.Tensor
我想子类化这个tf.Tensor
类。这个想法是子类的对象应该表现得像张量(即我可以使用它们来进行任何类型的 tf 操作),但它们还应该具有其他属性,这些属性在我的框架内为它们提供特定的行为。
到目前为止,我在图形模式下工作,我只是做这样的事情:
现在,我想只在渴望模式下做同样的事情,但我真的不知道(而且我什么也没找到)关于EagerTensor
实例化。显然,该op
属性不再有意义。
我尝试通过该方法创建对象,但在子类化和遵循创建路径__new__
时发现了问题。EnrichedTensor
所以,我想知道是否有任何方法可以干净地以“声音”的方式做到这一点。
python - tensorflow程序没有运行到最后就终止了
我按照 tensorflow 网站上关于数据集创建的教程编写了以下图像分类代码。问题是在创建数据集变量后,代码只是停止执行并终止。
我最初的猜测是,这可能是急切执行的问题。我尝试使用 Visual Studio 代码调试器进行调试,但无法取得任何进展。
python - 使用 GradientTape 时 Keras 模型无法训练
我有一堂课,里面有一个模型:
我使用以下内容来构建模型:
使用以下几行进行训练时:
模型训练没有任何问题。
但在单独运行中,使用以下代码:
损失在几个 epoch 之后就卡住了。计算的准确度也停止在 0.5。
有谁知道如何使用 Keras 模型进行训练GradientTape
?
tensorflow - 无法启用 TensorFlow 急切执行
我有一个安装了 Tensorflow 2.0.0-beta1 的 conda 环境。但是,每当我导入 tensorflow 并尝试启用急切执行时,我都会收到错误消息:
我为此运行的唯一代码是:
这是 tensorflow 2.0 beta 模块的错误还是我的安装问题?
python - Tensorflow 2.0.0-beta1:'EagerTensor 对象不可调用'
我正在尝试在 google colab 上使用 Tensorflow 和 Keras API 实施自定义培训。我使用 TensorFlow 2.0.0-beta1。
我的损失函数代码部分是:
哪个会产生此错误:
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 函数并将其输出用作成本函数的输出。
您对如何克服这一点有任何想法吗?
非常感谢您,祝大家度过愉快的一周!