🍅 写在前面
👨?🎓 博主介绍:大家好,这里是hyk写算法了吗,一枚致力于学习算法和人工智能领域的小菜鸟。
🔎个人主页:主页链接(欢迎各位大佬光临指导)
??近期专栏:机器学习与深度学习
???????????????????????LeetCode算法实例
???????????????????????Pytorch实战
1、
torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False)
功能:从data创建tensor
2、
torch.from_numpy(ndarray)
功能:从numpy创建tensor
注意事项:从torch.from_numpy创建的tensor于原ndarray共享内存,当修改其中一个数据,另一个也将会被改动。
1、
torch.zeros(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能:依size创建全0张量
size: 张量的形状,如(3, 3)、(3, 224, 224)
out: 输出的张量
layout: 内存中布局形式,有strided, sparse_coo等
device: 所在设备,gpu/cpu
requires_grad: 是否需要梯度
2、
torch.zeros_like(input, dtype=None, layout=None, device=None, requires_grad=False)
功能:依input形状创建全0张量
torch.ones(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
4、
torch.ones_like(input, dtype=None, layout=None, device=None, requires_grad=False)
功能:依input形状创建全1张量
torch.full(size, fill_value, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
6、
torch.full_like(input, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能: 依input形状创建指定数据的张量
torch.arange(start=0, end. step=1, out=None, dtype=None, - layout=torch.strided, device=None, requires_grad=False)
功能:创建等差的1维张量
8、
torch.linspace(start, end, steps=100, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能:创建均分的1维张量
1、
torch.normal(mean, std, out=None)
功能:生成正态分布(高斯分布)
torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能:生成标准正态分布
torch.rand(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能:在区间 生成均匀分布
4、
torch.randint(low=0, high, size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能: 生成整数均匀分布
= size:张量的形状
5、
torch.randperm(n, out=None, dtype=torch.int64, layout=torch.strided, device=None, requires_grad=False)
功能:生成从0到n-1的随机排列
1、
torch.cat(tensors, dim=0, out=None)
功能:将张量按维度dim进行拼接
torch.stack(tensors, dim=0, out=None)
功能:在新创建的维度dim上进行拼接
3、
torch.chunk(input, chunks, dim=0)
功能:将张量按维度dim进行平均切分
返回值:张量列表
注意事项:若不能整除,最后一份张量小于其他张量
torch.split(tensor, split_size_or_sections, dim=0)
功能:将张量按维度dim进行切分
返回值:张量列表
1、
torch.index_select(input, dim, index, out=None)
功能:在维度dim上,按index索引数据
返回值:依index索引数据拼接的张量
torch.masked_select(input, mask, out=None)
功能:按mask中的True进行索引
返回值:一维张量
1、
torch.reshape(input, shape)
功能:变换张量形状
注意事项:当张量在内存中是连续时,新张量与input共享数据内存
torch.transpose(input, dim0, dim1)
功能:交换张量的两个维度
torch.t(input)
功能:2维张量转置,对矩阵而言,等价于torch.transpose(input, 0, 1)
4、
torch.squeeze(input, dim=None, out=None)
功能:压缩长度为1的维度(轴)
torch.unsqueeze(input, dim, out=None)
功能:依据dim扩展维度