《动手学深度学习》(PyTorch版)理解笔记 - 6 【初始化权重】

目录

  • 运行环境
  • 书中片段
  • 理解

运行环境

使用环境:python3.8
平台:Windows10
IDE:PyCharm

书中片段

在这里插入图片描述
在这里插入图片描述

理解

在构建网络是,我们需要进行权重的初始化
初始化过程中我们最常见的便是如下代码:

def get_net(feature_num):
    net = nn.Linear(feature_num, 1)
    for param in net.parameters():
    	# print(param)
        nn.init.normal_(param, mean=0, std=0.01)
    return net

上面代码的意思是:将线性层中权重参数赋值为以0为均值,0.01为标准差的正态分布
随之而来的疑问是:通过For循环,我们赋值了几个权重?,通过Debug发现:

对于线性层:

 # 线性的权重param其实只有“输出数+1 个”如果偏差bias打开的话)
 # 输出数好理解,因为有多少输出就有多少个权重矩阵来计算对应不同输出的计算值
 # 而其中1对应的便是偏差bias

你可能感兴趣的:(python,深度学习,人工智能,神经网络,算法)