torch.normal()

673 阅读1分钟

torch.normal()

返回一个张量,包含从给定参数means,std的离散正态分布中抽取随机数。均值means是一个张量,包含每个输出元素相关的正态分布的均值。std是一个张量,包含每个输出元素相关的正态分布的标准差。均值和标准差的形状不须匹配,但每个张量的元素个数须相同。

基本构成

torch.normal(means, std, out=None)
参数内涵
means (Tensor)均值
std (Tensor)标准差
out (Tensor)可选的输出张量

案例

def synthetic_data (w , b, num_examples ) :
    """生成y = xw + b +噪声。"""
    x = torch.normal(0,1,(num_examples, len(w)))
    y = torch.matmul(x, w) + b
    y += torch.normal(0, 0.01, y.shape)
    return x, y.reshape ((-1, 1))
true_w = torch.tensor([ 2,-3.4])
true_b = 4.2
features, labels = synthetic_data(true_w, true_b, 1000)

x = torch.normal(0,1,(num_examples, len(w)))

生成均值为0,方差为1的随机数,输入矩阵张量n行,w列。

image.png