深度学习—— 模型参数的访问、初始化和共享(pytorch)

本文介绍了如何在PyTorch中访问和初始化深度学习模型的参数,以及如何实现参数的共享。通过类和方法可以方便地操作参数,PyTorch提供预设的初始化策略,并支持自定义初始化。通过在同一函数中多次调用同一层,可以实现模型参数的共享。
摘要由CSDN通过智能技术生成

模型参数的访问

  • 通过Module类的parameters()或者named_parameters()方法来访问所有参数(以迭代器的形式返回),后者除了返回参数Tensor外还会返回其名字。
  • 对于使用Sequential类构造的神经网络,我们可以通过方括号[]来访问网络的任一层。
  • param的类型为torch.nn.parameter.Parameter,其实这是Tensor的子类,和Tensor不同的是如果一个TensorParameter,那么它会自动被添加到模型的参数列表里

初始化模型参数

PyTorch中nn.Module的模块参数都采取了较为合理的初始化策略,PyTorch的init模块里提供了多种预设的初始化方法。也可以自定义初始化方法

共享模型参数

  1. Module类的forward函数里多次调用同一个层。
  2. 如果我们传入Sequential的模块是同一个Module实例的话参数也是共享的
import torch
from torch import nn
from torch.nn import init


class MyModel(nn.Module):
    def __init__(self, **kwargs):
        super(MyModel, self).__init__(**kwargs)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vinkuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值