动手学深度学习
·
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]]])
应用场景:
-
神经网络权重初始化
-
生成模拟数据
-
随机数生成实验
这种初始化方法在深度学习中很常见,因为标准正态分布是许多初始化策略的基础。
更多推荐



所有评论(0)