test_autodiff_cpu.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:Aurora 作者: upul 项目源码 文件源码
def test_max_pooling():
    x2 = ad.Variable(name='x2')
    y = au.nn.maxPool(x2, filter=(2, 2), strides=(2, 2))

    grad_x2, = ad.gradients(y, [x2])
    executor = ad.Executor([y, grad_x2])
    x2_val = np.random.randn(1, 1, 4, 4)

    y_val, grad_x2_val = executor.run(feed_shapes={x2: x2_val})

    numerical_grad_x2 = ad.eval_numerical_grad(y,
                                               feed_dict={x2: x2_val},
                                               wrt=x2,
                                               h=1e-5)

    assert isinstance(y, ad.Node)
    # TODO: (upul) looks like a bug in my eval_numerical_grad implementation
    #       Hence I'm using one decimal points
    npt.assert_array_almost_equal(grad_x2_val, numerical_grad_x2, decimal=1)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号