- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试计算 TensorFlow 神经网络输出相对于其输入的雅可比行列式。使用 tf.GradientTape.jacobian 方法可以轻松实现这一点。 TensorFlow 文档中提供的简单示例如下:
with tf.GradientTape() as g:
x = tf.constant([1.0, 2.0])
g.watch(x)
y = x * x
jacobian = g.jacobian(y, x)
如果我只想计算输入张量 x 的单个实例的雅可比行列式,这很好。然而,我需要对 x
的各种实例重复评估这个雅可比行列式很多很多次。对于重要的雅可比计算(例如,具有非线性激活函数的深度卷积神经网络),重复重新运行 GradientTape 计算并评估雅可比方法的成本非常高。我从TensorFlow documentation知道梯度(以及雅可比行列式)是通过自动微分计算的。我必须想象网络的分析梯度(通过自动微分计算)有一些内部存储,它是在给定的输入下进行评估的。
我的问题:我假设 TensorFlow 构建并存储(至少部分)计算雅可比行列式所需的分析梯度是否正确?如果是这样,有没有办法保存这个分析梯度并用新的输入重新评估雅可比行列式,而不必通过 GradientTape 方法重建它?
“持久”GradientTape 似乎无法解决此问题:它只允许针对计算的多个内部参数重复评估单个 GradientTape 实例。
最佳答案
也许您发现这有帮助:
我需要多次计算任意函数的雅可比矩阵。我的问题是我不恰本地使用了 GradientTape,但我发布的代码可能会帮助您或给您一些见解。我发布了一个使用基于 session 的 tf.gradient() 函数和现代 GriadientTape 方法计算雅可比的独立示例。在帮助下,我让它们在彼此相同的数量级内运行。
@tf.function
中,因为它就是这样做的。查看我的问题:Abysmal tf.GradientTape performance compared to tf.gradients() for computing jacobians
关于python - 重复使用 GradientTape 进行多个雅可比计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60047705/
现在我使用 Jacoco 来了解整个测试套件的覆盖率,但我需要按测试用例分解覆盖率信息。 我需要创建一个程序来执行此操作,因为我们需要自动化大型套件。我想这应该通过使用 API 来完成... 有办法做
我有一个包含多个模块的 Java-Gradle 项目,这意味着多个 build.gradle 文件和多个测试文件夹。 我有一个主 build.gradle,我成功地将所有多 jacoco 报告聚合到一
我有一个 Maven 项目,我想使用 jacoco 进行代码覆盖。这是我的 pom 的相关部分 org.jacoco
当我运行 gradlew test jacocoTestReport 任务 jacocoTestReport 运行并且我得到一份测试报告。 当我运行 gradlew integTest jacocoT
尝试使用离线检测通过 jacoco 获取覆盖范围(无法使用即时检测:由于 powermock 测试用例)的 Maven 项目。将 jacocoagent.jar 添加到 Surefire 插件的类路径
我是一名优秀的程序员,十分优秀!