您的位置:首页 > 财经 > 金融 > Pytorch常用函数用法归纳:创建tensor张量

Pytorch常用函数用法归纳:创建tensor张量

2025/1/16 10:57:03 来源:https://blog.csdn.net/m0_50460160/article/details/139357770  浏览:    关键词:Pytorch常用函数用法归纳:创建tensor张量

1.torch.arange()

(1)函数原型

torch.arange(start,end,step,*,out,dtype,layout=,device,requires_grad)

(2)参数说明:

参数名称参数类型参数说明
startNumber起始值,默认值为0
endNumber结束值,取不到,为开区间
stepNumber步长值,默认为1
outTensor输出的张量,,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数
dtypetorch.dtype

期望返回的张量的数据类型,如果是None,则使用全局默认值,如果未给出dtype,则从其他输入参数推断数据类型,如果start、end或stop中的任何一个是浮点数,则dtype被推断为默认值,否则被推断为torch.int64

layouttorch.layout返回张量的期望 layout,默认值为torch.strided
devicetorch.device返回张量的期望设备。如果是默认值None,则使用当前设备作为默认张量类型,对于CPU类型的张量,则device是CPU;若是CUDA 类型的张量,则device是当前的CUDA 设备
requires_gradboolautograd是否记录返回张量上的梯度。默认值为False,表示不记录

(3)函数功能:

返回大小为[(end-start)/step]的一维张量,其值为区间[start,end)中给定步长为step的等间隔取值

2.torch.range()

(1)函数原型:

torch.range(start,end,step,*,out,dtype,layout,device=None,requires_grad)

(2)参数说明:

参数名称参数类型参数说明
startNumber起始值,默认值为0
endNumber结束值,可以取到,为闭区间
stepNumber步长值,默认为1
outTensor输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数
dtypetorch.dtype

期望返回的张量的数据类型,如果是None,则使用全局默认值;如果未给出dtype,则从其他输入参数推断数据类型;如果start、end或stop中的任何一个是浮点数,则dtype被推断为默认值;否则被推断为torch.int64

layouttorch.layout返回张量的期望layout,默认值为torch.strided,对性能影响不大
devicetorch.device返回张量的设备。默认值None表示使用当前设备作为默认张量类型;对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备
requires_gradboolautograd是否记录返回张量上的梯度。默认值为False,表示不记录

(3)函数功能:

返回大小为[(end-start)/step]的一维张量,其值为区间[start,end]中给定步长为step的等间隔取值

3.生成随机数组成的Tensor张量:

(1)函数原型:

1.torch.rand(*size,generator,out,dtype,layout,device,requires_grad)
2.torch.randn(*size,generator,out,dtype,layout,device,requires_grad)
3.torch.randint(low,high,*size,generator,out,dtype,layout,device,requires_grad)
4.torch.randperm(n,generator,out,dtype,layout,device,requires_grad)
5.torch.normal(mean,std,size,generator,out)

(2)参数说明:

参数名称参数类型参数说明
sizeint/list/tuple生成tensor的维度大小,可以是int类型的数或者是一个由int类型数组成的list或tuple,若为int则表示此时生成的tensor是一维的
generatortorch.Generator,optional用于控制生成随机数的种子,是可选参数
lowint,optional生成的随机tensor所属整数区间的下界,默认值为0
highint生成的随机tensor所属整数区间的上界
nint生成随机整数排列的区间上界,即这些整数排列中最大值+1
meanTensor生成的随机tensor服从的正态分布的均值向量
stdTensor生成的随机tensor数服从的正态分布的标准差向量
outTensor输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数
dtypetorch.dtype

期望返回的张量的数据类型,对于torch.randint()和torch.randperm()来说默认值为torch.int64,而对于其他函数如果是None则使用全局默认值

layouttorch.layout返回张量的期望layout,默认值为torch.strided,对性能影响不大
devicetorch.device返回张量的设备。默认值None表示使用当前设备作为默认张量类型;对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备
requires_gradboolautograd是否记录返回张量上的梯度。默认值为False表示不记录

(3)函数功能:

1.生成由[0, 1)之间均匀分布的随机数组成的给定size大小的tensor张量;
2.生成由从标准正态分布(均值为0,标准差为1)中采样的随机数组成的指定size大小的tensor张量;
3.生成由指定范围[low,high)内的随机整数组成的指定size大小的tensor张量
4.生成一个从[0,n)的随机整数排列的tensor张量
5.生成由服从给定均值mean和标准差std的正态分布的随机数组成的指定size大小的tensor张量;
size参数不是必须的,当省略size参数时生成的tensor大小由mean和std决定

4.生成由固定值组成的Tensor张量 

(1)函数原型:

1.torch.ones(*size,out,dtype,layout,device,requires_grad)
2.torch.ones_like(input,dtype,layout,device,requires_grad)
3.torch.zeros(*size,out,dtype,layout,device,requires_grad)
4.torch.zeros_like(input,dtype,layout,device,requires_grad)
5.torch.fill(*size,fill_value,out,dtype,layout,device,requires_grad)
6.torch.eye(n,m,out,dtype,layout,device,requires_grad)
7.torch.empty(*size,out,dtype,layout,device,requires_grad)
8.torch.empty_like(input,out,dtype,layout,device,requires_grad)

(2)参数说明:

参数名称参数类型参数说明
sizeint/list/tuple生成tensor的维度大小,可以是int类型的数或者是一个由int类型数组成的list或tuple,若为int则表示此时生成的tensor是一维的
inputtorch.Tensor输入张量,新张量的大小将与此张量相同
dtypetorch.dtype

期望返回的张量的数据类型;

对于torch.zeros_like()和torch.ones_like()来说默认值为None,如果是None则使用和张量input一致的类型;而对其他函数来说如果为None使用全局默认类型

outTensor输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数
layouttorch.layout返回张量的期望layout,默认值为torch.strided,对性能影响不大
devicetorch.device

返回张量的设备,默认值None表示使用当前设备作为默认张量类型;

对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备

requires_gradboolautograd是否记录返回张量上的梯度。默认值为False表示不记录
fill_valueNumber指定填充到生成Tensor张量中的值
nint生成的单位矩阵的行数
mint,optional生成的单位矩阵的列数,默认情况下省略m,此时生成的是一个方阵

(3)函数功能:

1.生成给定size大小的一个全为1的Tensor张量
2.生成和输入张量input大小一致的一个全为1的Tensor张量
3.生成给定size大小的一个全为0的Tensor张量
4.生成和输入张量input大小一致的一个全为0的Tensor张量
5.生成给定size大小并且全为给定值fill_value的一个Tensor张量
6.生成大小为n*n的单位矩阵,是一个二维Tensor张量,默认情况下为方阵
7.生成给定size大小的一个填满未初始化数据的Tensor张量
8.生成和输入张量input大小一致的一个填满未初始化数据的Tensor张量

4.生成由现有数据值组成的Tensor张量 

(1)函数原型:

1.torch.tensor(data,dtype,device,requires_grad)
2.torch.from_numpy(ndarray)

(2)参数说明:

参数名称参数类型参数说明
datalist/Numpy数组/tuple/scalar表示用于创建张量的数据,生成的Tensor维度和data一致
dtypetorch.dtype,optional期望返回的张量的数据类型;默认值None表示和给定的内容的类型保持一致
devicetorch.device,optional

返回张量的设备,默认值None表示使用当前设备为默认张量类型;

对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备

requires_gradbool,optionalautograd操作是否记录返回张量上的梯度,默认值为False表示不记录
ndarraynumpy.ndarray用于创建张量的numpy数组,生成的Tensor维度和data一致

(3)函数功能:

1.根据给定的输入数据data创建一个指定大小的Tensor张量
2.根据给定的输入numpy数组创建一个指定大小的Tensor张量

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com