代码拉取完成,页面将自动刷新
# 1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加
# 2. 当为mat的时候,默认d*f就是矩阵的乘积,multiply转化为对应元素的乘积,dot(d,f)为矩阵的乘积
import numpy as np
# Relu激活器
class ReluActivator(object):
def forward(self, weighted_input): # 前向计算,计算输出
return max(0, weighted_input)
def backward(self, output): # 后向计算,计算导数
if output > 0:
return 1
else:
return 0
# IdentityActivator激活器.f(x)=x
class IdentityActivator(object):
def forward(self, weighted_input): # 前向计算,计算输出
return weighted_input
def backward(self, output): # 后向计算,计算导数
return 1
# sigmoid激活器
class SigmoidActivator(object):
def forward(self, weighted_input):
return 1.0 / (1.0 + np.exp(-weighted_input))
def backward(self, output):
# return output * (1 - output)
return np.multiply(output, (1 - output)) # 对应元素相乘
# tanh激活器
class TanhActivator(object):
def forward(self, weighted_input):
return 2.0 / (1.0 + np.exp(-2 * weighted_input)) - 1.0
def backward(self, output):
return 1 - output * output
# # softmax激活器
# class SoftmaxActivator(object):
# def forward(self, weighted_input): # 前向计算,计算输出
# return max(0, weighted_input)
#
# def backward(self, output): # 后向计算,计算导数
# return 1 if output > 0 else 0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。