分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

mxnet-梯度与反向传播

发布时间:2023-09-06 02:22责任编辑:董明明关键词:暂无标签
#!/usr/bin/env python2# -*- coding: utf-8 -*-"""Created on Fri Aug 10 16:13:29 2018@author: myhaspl"""from mxnet import ndfrom mxnet import autogradx = nd.array([[1, 2], [3, 4]])x.attach_grad()#在ndarray里准备存储梯度with autograd.record():#定义f(x) ???y=2*x*x#反向传播backward()y.backward()#f‘(x)=4*xz=x.gradprint xprint z

[[1. 2.]
?[3. 4.]]
<NDArray 2x2 @cpu(0)>

[[ 4. ?8.]
?[12. 16.]]
<NDArray 2x2 @cpu(0)>

#######################!/usr/bin/env python2# -*- coding: utf-8 -*-"""Created on Fri Aug 10 16:13:29 2018@author: myhaspl"""from mxnet import ndfrom mxnet import autograddef f(x): ????b=x ???while b.norm().asscalar() < 100: #计算欧氏距离(norm) ???????b=b*2#y=ax ?,a=2*2*.....*2 ???????print b ???if b.sum().asscalar() >= 0: ????????y = b[0] ???else: ???????y = b[1] ???return yx = nd.array([1,4])x.attach_grad()#在ndarray里准备存储梯度with autograd.record():#定义f(x) ???y=f(x)#反向传播backward()y.backward()#f‘(x)=a,y=axz=x.gradprint "======="print [z,x,y,y/x]#a=y/x

[2. 8.]
<NDArray 2 @cpu(0)>

[ 4. 16.]
<NDArray 2 @cpu(0)>

[ 8. 32.]
<NDArray 2 @cpu(0)>

[16. 64.]
<NDArray 2 @cpu(0)>

[ 32. 128.]
<NDArray 2 @cpu(0)>

=======
[
[32. ?0.]
<NDArray 2 @cpu(0)>,?
[1. 4.]
<NDArray 2 @cpu(0)>,?
[32.]
<NDArray 1 @cpu(0)>,?
[32. ?8.]
<NDArray 2 @cpu(0)>]

mxnet-梯度与反向传播

原文地址:http://blog.51cto.com/13959448/2316718

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved