没有服务器如何做网站,网站优化 seo,社区微网站建设需求分析,做网站 售后服务里都写啥Pytorch 1 一些操作含义2 常用函数torch.squeezetorch.unsqueezetorch.transpose随机数生成Tensor详细内容 1 一些操作含义
下划线后缀含义#xff1a; 在touch中函数后面加下划线代表是原位(In-place)操作#xff0c;也就是内存的位置不变化#xff0c;比如torch.add(valu… Pytorch 1 一些操作含义2 常用函数torch.squeezetorch.unsqueezetorch.transpose随机数生成Tensor详细内容 1 一些操作含义
下划线后缀含义 在touch中函数后面加下划线代表是原位(In-place)操作也就是内存的位置不变化比如torch.add(value)和torch.add_(value) 备注In-place运算是一种直接改变给定线性函数、向量、矩阵(张量)内容而不复制的运算,因此在操作高维数据时它能够减少内存使用like后缀含义 在touch中函数后缀有like代表生成的形状维度与输入矩阵的形状维度一致
2 常用函数
torch.squeeze
torch.squeeze(input, dimNone, outNone) 将输入张量形状中的1 去除并返回。 如果输入是形如(A×1×B×1×C×1×D) 那么输出形状就为 (A×B×C×D) 当给定dim时那么挤压操作只在给定维度上。例如输入形状为: (A×1×B) , squeeze(input, 0) 将会保持张量不变只有用 squeeze(input, 1)形状会变成 (A×B) 。如果dim为负则将会被转化diminput.dim()1可以记为从后往前数维度。dim的维度范围[-input.dim() - 1, input.dim() 1)参数:
tensor (Tensor) – 输入张量
dim (int) – 插入维度的索引
out (Tensor, optional) – 结果张量
具体代码示例
‘’’ import torch x torch.zeros(2,1,2,1,2) x.size() torch.Size([2, 1, 2, 1, 2]) ytorch.squeeze(x) y.shape torch.Size([2, 2, 2]) ytorch.squeeze(x,0) y.shape torch.Size([2, 1, 2, 1, 2]) ytorch.squeeze(x,1) y.size() torch.Size([2, 2, 1, 2]) ytorch.squeeze(x,-4) y.shape torch.Size([2, 2, 1, 2]) ‘’’
torch.unsqueeze
torch.unsqueeze(input, dim, outNone)squeeze的逆操作,返回一个新的张量对输入的指定位置插入维度 1。
具体代码示例
‘’’ x torch.tensor([1, 2, 3, 4]) x tensor([1, 2, 3, 4]) torch.unsqueeze(x, 0) tensor([[1, 2, 3, 4]]) torch.unsqueeze(x, 1) tensor([[1], [2], [3], [4]]) ‘’’ torch.transpose
torch.transpose(input, dim0, dim1, outNone) → Tensor,返回输入矩阵input的转置。交换维度dim0和dim1。
如果输入是一个跨步张量则结果张量与输入张量共享其底层存储因此更改其中一个的内容将更改另一个的内容。 如果输入是一个稀疏张量则结果张量不与输入张量共享底层存储。
参数: input (Tensor) – 输入张量 dim0 (int) – 转置的第一维 dim1 (int) – 转置的第二维
‘’’ xtorch.randn(2,3,4) x tensor([[[-2.2487, -0.5821, 1.1262, 0.7496], [ 0.8734, 1.6248, -0.5010, 0.7022], [ 0.4190, 1.6377, -0.1449, 1.1198]], [[ 0.2262, -0.8953, -2.3222, 1.6512],[ 0.7219, -0.1876, 0.6869, -0.3515],[-1.2393, 0.7014, -0.3381, -0.7055]]])torch.transpose(x,0,1) tensor([[[-2.2487, -0.5821, 1.1262, 0.7496], [ 0.2262, -0.8953, -2.3222, 1.6512]], [[ 0.8734, 1.6248, -0.5010, 0.7022],[ 0.7219, -0.1876, 0.6869, -0.3515]],[[ 0.4190, 1.6377, -0.1449, 1.1198],[-1.2393, 0.7014, -0.3381, -0.7055]]])‘’’
随机数生成
函数生成类型normal离散正态分布中随机抽取浮点数rand从区间[0,1)的均匀分布中抽取的随机抽取一组浮点数randn从标准正态分布(均值为0方差为 1)中随机抽取一组浮点数randint半开区间[start, end从start开始到end之间均匀生成的随机整数randperm给定参数n返回一个从0 到n -1 的随机整数range区间[start, end]从start开始到end以step为步长的一组值不建议使用arange半开区间[start, end从start开始到end以step为步长的一组值当start和end都为整数输出整数值有一个为浮点数则输出浮点数
Tensor详细内容
查看Tensor的相关概念及操作