X = torch.normal(0, 1, (3, 3, 3))

等价理解:

# 创建一个3×3×3的张量,元素来自N(0,1)分布
X = torch.randn(3, 3, 3)  # torch.randn也能实现同样效果

这句代码是用PyTorch库创建一个3x3x3的三维张量(tensor),其中每个元素都是从均值为0、标准差为1的正态分布(标准正态分布)中随机抽取的。

具体解释如下:

  • torch.normal():PyTorch中用于从正态分布生成随机数的函数

  • 0:正态分布的均值(mean)

  • 1:正态分布的标准差(std)

  • (3, 3, 3):输出张量的形状,即3×3×3的三维数组

示例输出可能类似:

tensor([[[-0.2345,  1.5678, -0.7890],
         [ 0.1234, -1.2345,  0.4567],
         [ 0.8912, -0.3456,  1.2345]],

        [[-0.5678,  0.6789, -0.1234],
         [ 1.4567, -0.7890,  0.3456],
         [-1.1234,  0.4567, -0.6789]],

        [[ 0.7890, -0.2345,  1.1234],
         [-0.4567,  0.8912, -1.3456],
         [ 0.2345, -0.5678,  0.7890]]])

应用场景:

  • 神经网络权重初始化

  • 生成模拟数据

  • 随机数生成实验

这种初始化方法在深度学习中很常见,因为标准正态分布是许多初始化策略的基础。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐