python自动求梯度

from mxnet import autograd, nd

方法

x = nd.arange(4).reshape((4, 1))

方法 结果
x.attach_grad() 申请求梯度所需内存
autograd.record() 用于上下文管理器,管理内容是待求梯度
y.backward() 自动求梯度
autograd.is_training() 查看是否处于训练模式

这里求梯度的方便之处式,即使函数中又python的控制语句存在,依然可以求梯度。比如下面的代码:

from mxnet import autograd, nd

def f(a):
	while a.norm()asscalar() < 400:
		a *= 3
	if a.norm()asscalar() < 0:
		return -1 * a
	else:
		return 10 * a

a = nd.arange(4).reshape((4, 1))
a.attach_grad()
with autograd().record():
	b = f(a)
b.backward()

最后分享两个查看文档的方法
1.用“ ?”查看文档
python自动求梯度_第1张图片
2.用help
python自动求梯度_第2张图片

你可能感兴趣的:(ai)