代码问题,实在是不懂了


#1

完整代码:
def f(a):
b = a * 2
while b.norm().asscalar() < 1000:
b = b * 2
if b.sum().asscalar() > 0:
c = b
else:
c = 100 * b
return c
a = nd.random.normal(shape=1)
a.attach_grad()
with autograd.record():
c = f(a)
c.backward()
a.grad == c/a

Out:[1.]

程序里的b.sum().asscalar()是什么意思?b已经大于1000,那也肯定大于0了啊?这块我也不是很懂


#2

我明白了