8000 GitHub - huangns/KP: a
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

huangns/KP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

KP

source activate gluon

jupyter notebook --NotebookApp.contents_manager_class='notedown.NotedownContentsManager'

from mxnet import ndarray as nd

import numpy as np

import mxnet.ndarray as nd

import mxnet.autograd as ag

x = nd.array([[1, 2], [3, 4]])

当进行求导的时候,我们需要一个地方来存x的导数,这个可以通过NDArray的方法attach_grad()来要求系统申请对应的空间。//可以简单理解为x是要被求导的变量

x.attach_grad()

下面定义f。默认条件下,MXNet不会自动记录和构建用于求导的计算图,我们需要使用autograd里的record()函数来显式的要求MXNet记录我们需要求导的程序。

with ag.record():

y = x * 2

z = y * x

接下来我们可以通过z.backward()来进行求导。如果z不是一个标量,那么z.backward()等价于nd.sum(z).backward().

z.backward()

输出导数值:

x.grad

def f(a):

b = a * 2

while nd.norm(b).asscalar() < 1000:

  b = b * 2

if nd.sum(b).asscalar() > 0:

  c = b
  
else:

    c = 100 * b
    
return c

a = nd.random_normal(shape=3)

a.attach_grad()

with ag.record():

c = f(a)

c.backward()

a.grad

About

a

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0