torch---pytorch常用函数(持续更新中.......)

随机抽样类函数

1.torch.manual_seed(seed)

设定生成随机数的种子,并返回一个torch._C.Generator对象

参数:seed(int or long)种子

2.torch.initial_seed()

返回生成随机数的原始种子(pathon long)

3.torch.get_rng_state()

返回随机生成器状态(Byte Tensor)

4.torch.set_rng_state(new_state)

设定随机生成器状态

参数:new_state(torch.Byte Tensor)-期望的状态

5.torch.default_generator=

6.torch.bernoulli(input,out=None)->Tensor

从伯努利分布中抽取二元随机数(0 or 1)

输入张量需包含用于抽取上述二元随机值的概率。因此,输入中的所有值都必须在[0,1]区间。

输出张量的第i个元素值,将会以输入张量的第i个概率值等于1.

返回值将会是与输入相同大小的张量,每个值为0或者1

input(Tensor)---伯努利分布的概率值

out(Tensor, optional)---张量

例子:

uniform_(0,1)使得产生的矩阵规范在[0,1]区间内

7.torch.mutinomial(input,num_samples,replacement=False,out=None)->Long Tensor

返回一个张量,每行包含从input相应行中定义的多项分布中抽取的num_samples个样本。

注意:input每行的值不需要总和为1,但必须非负且总和不能为0

当抽取样本时,依次从左到右排列(第一个样本对应第一列)

如果input是一个向量时,out也是一个相同长度num_samples的向量

如果input是一个矩阵,out对应是矩阵

如果replacement=True,则样本抽取可以重复。否则一个样本在每行不能被重复抽取。

num_samples必须小于input的长度

参数:input(Tensor)---包含概率的张量

num_samples(int)---抽取的样本数

replacement(bool,optional)

out(Tensor,optional)

例子:

8.torch.normal(means,std,out=None)

返回一个张量,包含从给定参数means,std,的离散正态分布中抽取随机数

参数:

means(Tensor)----包含每个输出元素相关的正态分布的均值

std(Tensor)---包含每个输出元素相关的正态分布的标准差

均值和标准差的形状不须匹配,但每个张量的元素个数须相同。

例子:

注意:当means或std 为标量时,则共享

索引,切片,连接,换位

1.torch.cat(inputs,dimension=0)->tensor

在给定维度上对输入的张量序列进行连接操作

参数:

inputs(sequence of Tensors)---可以是任意相同Tensor类型的python序列

dimension(int,optional)---沿此维连接张量序列

例子:

2.torch.squeeze(inout,dim=None,out=None)

将输入张量形状中的1去除并返回

给定维时,只在给定维度上挤压

注意:返回张量和输入张量共享内存,改变其中一个的内容会改变另一个

例子:

3.torch.unsqueeze(input,dim,out=None)

类似2

例子:

创建操作

1.torch.eye(n,m=None,out=None)

返回一个2维张量,对角线位置全为1,其他位置全0

参数:

n(int)----行数

m(int,optional)---列数,如果为None默认为n

out(Tensor,optional)

2.torch.from_numpy(ndarray)--->Tensor

Numpy桥,将numpy.ndarray转换为pytorch的Tensor

返回的张量tensor和numpy的ndarray共享同一内存空间。修改一个会导致另外一个也被修改,返回的张量不能改变大小

例子:

3.torch.linspace(start,end,steps=100,out=None)--->Tensor

返回一个一维张量,包含区间start和end上均匀间隔的steps个点。

输出1维张量的长度为steps

参数:略

例子:

4.torch.logspace(start,end,steps=100.out=None)--->Tensor

设置的区间为常用对数,输出的值为其对应的真数

其余的同2

例子:

5.torch.ones(*sizes,out=None)--->Tensor

例子:

6.torch.rand(*sizes,out=None)--->Tensor

(0,1)区间均匀分布随机抽取

例子:

7.torch.randn(*sizes,out=None)--->Tensor标准正态分布(均值0方差1,即高白噪声)中随机抽取

同上

8.torch.randperm(n,out=None)--->Long Tensor

给定参数n,返回一个从0到n-1的随机整数排列

9.torch.arange(start,end,step=1,out=None)--->Tensor

参数:

start(float)-------序列起始点

end(float)--------序列终止点

step(float)------相邻点的间隔大小

out(Tensor,optional)

例子:

10.torch.range(start,end,step=1,out=None)--->Tensor

例子:

建议使用torch.arange

11.torch.zeros(*sizes,out=None)--->Tensor

类似于torch.ones()

比较操作

1.torch.max(input,dim,max=None,max_indices=None)--->(Tensor,LongTensor)

返回输入张量给定维度上每行的最大值,并同时返回每个最大值的位置索引

输出形状中,将dim维设为1,其他与输入型状保持一致

参数:

input (Tensor) – 输入张量

dim (int) – 指定的维度

max (Tensor, optional) – 结果张量,包含给定维度上的最大值

max_indices (LongTensor, optional) – 结果张量,包含给定维度上每个最大值的位置索引

如果只有一个输入,返回所有元素中的最大值

如果输入两个相同形状的张量,返回的张量形状不变,每个位置两个向量中的最大值
--------------------- 
作者:SailorMoon_sweet 
来源:CSDN 
原文:https://blog.csdn.net/qq_24407657/article/details/81835614 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(机器学习)