深度学习基础知识--张量运算

这篇博客介绍了深度学习中的基本张量运算,包括逐元素运算、广播、张量点积和张量变形。逐元素运算是对张量每个元素独立应用的运算,如ReLU和加法。广播允许不同形状的张量进行运算。张量点积在特定条件下(如向量或矩阵的形状匹配)进行,并产生标量或矩阵结果。张量变形则涉及改变张量的形状以适应不同的需求。
摘要由CSDN通过智能技术生成

在计算机中,所有程序都可以简化为二进制输入上的一些二进制运算(与或非等);
在深度神经网络中,所有变换也可以简化为数值数据张量上的一些张量运算

  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)==
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值