深度学习入门笔记(一)

用哔哩哔哩上跟着李沐学AI尝试入门深度学习,这里是笔记区,用于记录以整理所学

工具篇

pytorch

类似于numpy中的数组ndarray,pytorch也有自己的数组张量(tensor)
二者相似但不相同

创建一个内容为0~11的张量:

在这里插入图片描述

1.在一个tensor中可以使用的方法:

shape() 返回tensor形状
在这里插入图片描述

2.numel() number of element,返回元素个数(返回值为一个int类型)

在这里插入图片描述

3.reshape() 改变张量形状

在这里插入图片描述

4.sum() 对tensor中所有元素求和
5.item() 当张量中仅有一个标量时,返回该标量的值

在这里插入图片描述

6.tolist()

以列表返回tensor中的值
在这里插入图片描述

创建全是某个值的张量:
1.torch.zeros() 全是0的tensor

在这里插入图片描述

2.torch.ones() 全是1的tensor
3.torch.full(size, value) 全是value的tensor

在这里插入图片描述

直接创建张量:
1.torch.tensor([…]) 和新建一个数组类似,直接创建

在这里插入图片描述

2.torch.normal(means, std, size) 创建符合正态分布N(means, std)的数组

means平均值
std 方差
在这里插入图片描述

tensor间的计算

tensor间进行加减乘除乘方运算都是元素和元素之间进行计算,而不是直接进行向量计算

x = torch.tensor([1.0,2,4,8])
y = torch.tensor([2,2,2,2])
x+y, x-y, x*y, x/y, x**y

在这里插入图片描述
两个tensor的合并用torch.cat((X, Y), dim)
dim=0时在行上合并,dim=1时在列上合并

X = torch.arange(12,dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1,2,3,4], [4,3,2,1]])
torch.cat((X, Y), dim=0), torch.cat((X, Y), dim=1)

在这里插入图片描述

pytorch的矩阵运算

torch.dot() 点乘(内积),只允许一维相乘
注意,这里不用转置,pytorch会自动进行转置

a = torch.arange(6)
b = torch.arange(6)
torch.dot(a,b)

在这里插入图片描述

@符号,相当于矩阵乘法

a = torch.arange(6).reshape(2,3)
b = torch.arange(12).reshape(3,4)
a@b

在这里插入图片描述

或者用torch.mm() 矩阵相乘(不广播)

a = torch.arange(6).reshape(2,3)
b = torch.arange(12).reshape(3,4)
torch.mm(a,b)

在这里插入图片描述
还有一个torch.matmul(),有广播机制,不写了

torch.bmm() 矩阵批量相乘
似乎是用于高于二维的矩阵,比如两个三维矩阵之间相乘

其他部分

矩阵转置:

a = torch.arange(6).reshape(2,3)
a.T

在这里插入图片描述

其他矩阵操作不写了(网上找来的不知道为什么用不了),机器学习用numpy的时候会用到矩阵的逆什么的,因为要推导公式,但是深度学习似乎不用这些,而pytorch用作深度学习比较多,大约是不怎么用这些的,机器学习库用sklearn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值