赞
踩
在计算机中,所有程序都可以简化为二进制输入上的一些二进制运算(与或非等);
在深度神经网络中,所有变换也可以简化为数值数据张量上的一些张量运算。
output = relu(dot(w,input) + b)
1、dot(w,input)为输入张量与张量w之间的点积运算。
2、dot(w,input) + b为得到的2D张量与张量b之间的加法运算
3、最后进行relu(x)运算。relu(x)为max(x,0)。
1、什么是逐元素运算?
该运算独立的应用于张量中的每个元素,如:relu运算和加法。
2、通过for循环对relu运算的简单实现:
def naive_relu(x): #加法运算函数
assert len(x.shape)==2 #x是一个NUMPY的2D张量,assert检查条件,不符合就终止程序
x=x.copy() #避免覆盖输入张量,copy() 函数返回一个字典的浅复制。
for i in range(x.shape[0]):
for j in range(x.shape[1]):
x[i,j] = max(x[i,j],0) #加法运算
return x
通过for循环对加法运算的简单实现:
def naive_add(x,y): #加法运算函数
assert len(x.shape)==
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。