开始使用免费开始使用

冻结模型的部分层

您将加载预训练权重后,在一个新任务上对模型进行微调。该模型包含 3 个线性层。由于数据集较小,您只想训练模型的最后一个线性层,并冻结前两个线性层。

模型已创建并保存在变量 model 中。您将使用模型的 named_parameters 方法来列出模型的参数。每个参数都有一个名称。名称是遵循以下命名约定的字符串:x.name,其中 x 为层的索引。

请记住,线性层有两个参数:weightbias

本练习是课程的一部分

使用 PyTorch 的深度学习入门

查看课程

练习说明

  • 使用 if 语句检查某个参数是否是第 1 或第 2 层的权重。
  • 冻结该模型前两层的权重。

交互式实操练习

通过完成这段示例代码来试试这个练习。

for name, param in model.named_parameters():
  
    # Check for first layer's weight
    if name == '____':
   
        # Freeze this weight
        param.____ = ____
        
    # Check for second layer's weight
    if name == '____':
      
        # Freeze this weight
        param.____ = ____
编辑并运行代码