paddlepaddle 29 无模型定义代码下动态修改网络结构(relu变prelu,conv2d变conv3d,2d语义分割模型改为3d语义分割模型)

paddle框架提供了许多的模型,但是在无穷无尽的工程需求中,这远远是不够的。有些时候我们需要按照自己的情况修改网络结构,如单输入变成双输入,单输出变成多输出。这只是输入输出的调整,此外还有网络细节的调整,如将网络的激活函数从relu改为prelu、elu、switch等;如将2d的语义分割模型改为3d的分割模型。如果有模型结构定义的源码,修改网络结构自然是很简单的。但是,很多的时候模型定义代码过于复杂,而且属于库代码的一部分,是不能轻易修改的,为此博主实现了在不改模型定义代码的前提下,修改模型结构。这些操作都属于网络结构魔改的范畴,关于该操作,更为详细的参考教程可以参考以下链接。pytorch 26 科学炼丹(训练)方式之——魔改网络(给模型做外科手术,实现module的删除、修改与添加,forward流程的修改)_万里鹏程转瞬至的博客-CSDN博客_魔改网络网络结构层出不穷,但经典网络总是大家工程上的最爱。有的时候需要对网络进行微操,直接该源码一是工作量太大;

猜你喜欢

转载自blog.csdn.net/a486259/article/details/125646985