paddlepaddle 34 调整模型的layer结构与forward流程(实现layer的增删改与forward的修改)

通常来说调整模型的layer结构与forward流程需要修改模型的定义代码,这会污浊了原始的模型定义代码。且,在源码层次进行模型结构修改后,会导致模型无法加载适应以前的预训练参数。为此博主实现了在不污浊模型定义代码的前提下,仅对model对象进行属性修改,实现了模型layer结构与forward流程的调整。本来博主在pytorch下是已经实现了该工作(实现链接),但是在应用到paddle下出现了水土不服,因此针对paddle框架在此进行该工作。

本博文主要设置layer的新增、修改与删除,forward流程的修改。其中,layer的修改其实已经在本栏目的第29章实现了。这里在此简述一下。

1、layer的修改与删除

layer的修改与删除在paddle model中其实就是一回事,修改是指将layer替换为新的layer,删除是指将layer替换为空layer(nn.Sequential()对象)。其核心就是实现layer的替换,其替换代码如下所示:

import paddle
def _set_module(model,</

猜你喜欢

转载自blog.csdn.net/a486259/article/details/125959151
34