cuốn sách gpt4 ai đã làm

python - 计算 tensorflow 梯度

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 00:13:32 27 4
mua khóa gpt4 Nike

我对 tensorflow gradient documentation 中的示例感到困惑用于计算梯度。

a = tf.constant(0.)
b = 2 * a
g = tf.gradients(a + b, [a, b])

với tf.Session() là sess:
print(sess.run(g))

được cho [3.0, 1.0]

我觉得我真的遗漏了一些明显的东西,但是如果 Một 本质上是 0 Vì thế b 因此 a+b = 0。那么关于 a 和 b 的微分零如何给你类似 [3.0, 1.0] 的东西。

我相信我在这里误解了 tensorflows 结构/语法。

câu trả lời hay nhất

为了比较,考虑实值函数 f :RR 一个实变量,由 f< 给出/em>(x) = 10 x。这里,f'(x) = 10,与 x 的值无关,所以特别是 f' (0) = 10。

类似地,如教程中所述,或多或少的定义是 total derivative的 (Một, b) ↦ Một + bb(Một) = 2 Một 是 (3, 1),与 Một 无关。

举个不那么简单的例子,让我们考虑一下

a = tf.constant(5.)
b = 2 * a
g = tf.gradients(a**3 + 2*b**2, [a, b])

với tf.Session() là sess:
print(sess.run(g))

这里,关于 Một 的全导数是 MộtMột³ + 2(2 Một)² = Một³ + 8 Một² 变成 Một ↦ 3 Một² + 16 < em>a,而关于 b 的导数是 Một ↦ 4 b(Một ) = 8 một。因此,在 Một = 5 时,我们期望结果为 (3 · 5² + 16 · 5, 8 · 5) = (155, 40),并运行你得到的代码。

关于python - 计算 tensorflow 梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51685934/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress