深度学习笔记(3)---自学《动手学深度学习》----实现多层感知机的相关函数(ReLU函数、Sigmoid函数、Tanu函数) 内附代码片段及解释

实现绘图的功能

注:t.my_ones_packages是我自己根据《动手学深度学习》目前学习过程中出现的所有自定义函数进行集中得到的文档。
《动手学深度学习》也向读者提供了一个包含所有自定义函数的包“d2lzh”大家可以自行下载 侵删 链接如下 :link. 提取码: un5p 时间设置是永久的 如果失效可以联系我更新

import t.my_ones_packages as mop  
from mxnet import autograd, nd
def xyplot(x, y, name):
    mop.set_figsize(figsize=(5, 2.5)) # 设置图像的大小为 5*2.5 
    mop.plt.plot(x.asnumpy(), y.asnumpy()) # 图像的x轴, y轴数据来源  plot(x方向的数据来源, y方向的数据来源)
    mop.plt.xlabel('x') # 设置x轴下的名称
    mop.plt.ylabel(name + 'y') # 设置y轴下的名称
Relu函数( 对应 relu(x) = max(x, 0) 实现非线性变换,只保留正数,并将负数归零)
'''x = nd.arange(-8.0, 8.0, 0.1)
x.attach_grad()
with autograd.record():
    y = x.relu() 
xyplot(x, y, 'relu')

# 显示图像
mop.plt.show()'''

y.backward() # 自动计算梯度  是反向传播的思想实现的
'''xyplot(x, x.grad, 'grad of relu')
mop.plt.show()'''
Sigmoid 函数(对应sigmoid(x) = 1 / (1 + exp(-x)) )
with autograd.record():
    y = x.sigmoid()

'''xyplot(x, y, 'sigmoid')
mop.plt.show()'''

y.backward()

'''xyplot(x, x.grad, 'grad of sigmoid')
mop.plt.show()'''
tanh 函数(对应 tanh(x) = (1-exp(-2x)) / (1+exp(-2x)) )
with autograd.record():
    y = x.tanh()
'''xyplot(x, y, 'tanh')
mop.plt.show()'''

y.backward()

'''xyplot(x, x.grad, 'grad of tanh')
mop.plt.show()'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值