您现在的位置是:首页 >技术杂谈 >pytorch中在模型结尾添加新层网站首页技术杂谈

pytorch中在模型结尾添加新层

莫_别 2025-12-19 12:01:02
简介pytorch中在模型结尾添加新层

append:主要用于 nn.ModuleListnn.Sequential,一次只能添加一个模块

add_module:是 nn.Module 的一个方法,可以直接用于自定义的模块类(继承自 nn.Module),一次只能添加一个模块

一次性在模型的结尾添加多个模块:最方便的方式是使用 nn.Sequentialnn.Sequential 允许你在初始化时直接传入多个模块,并且可以动态地通过 append 方法添加更多模块。

#append:

# 创建一个空的 nn.ModuleList
module_list = nn.ModuleList()
# 动态添加模块
module_list.append(nn.Linear(10, 20))  # 添加一个新的全连接层
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


#=========================================================
#add_module:

self.add_module("layer1", nn.Linear(10, 20))  #添加一个全连接层,名字叫"layer1"
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


#=========================================================
#使用 nn.Sequential 一次性添加多个模块:
# 在模型结尾添加多个模块
additional_layers = nn.Sequential(
    nn.ReLU(),
    nn.Linear(30, 40),
    nn.Sigmoid()
)

# 将额外的模块添加到基础模型的结尾
model.base_layers.append(additional_layers)
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。