如何使用商汤的框架MMEditing添加一个自己的新模型嘞?因为自己平时做超分辨率,所以这里用BasicVSR的改动作为例子,一般需要在MMEditing中添加三个文件:配置,backbones以及restores。
BasicSR原始的地址:https://github.com/xinntao/BasicSR.git
这里附上我的仓库地址:https://github.com/ACALJJ32/BasicSR_ACALJJ32.git
首先添加配置文件:
这里是以IconVSR为例添加的,如果是做MMEditing框架下的其他领域问题,只要在对应的目录下添加配置文件就行,中途修改了loss,loss的添加方式在我的另一篇博客里有讲:BasicVSR(CVPR2021)复现过程_ACALJJ32的博客-CSDN博客_basicvsr
model type对应的类型文件需要在restores目录中重新实现,generator的type需要在backbones目录下实现。
在backbones目录下添加自己实现的新网络,这里我起了一个新的模型名字BasicVSRGaussModulationV2为例,实现如下:
这里实现了自己的模型后,需要在当前的模块中注册添加你的模型:
添加好以后,你的配置文件就可以找到你的模型了。然后再实现自己的restores文件:
在文件需要实现三个函数forward_train,forward_test,train_step,这三个函数是需要自己重写的,里面具体的细节可以参考其他模型的实现。
比如在这个forward_train里面,self.generator就是你的模型,output就是输出。
和backbones下面同样的做法,在这个路径下的__init__.py文件下引用你的类,让你的配置文件可以找到。
完成这三步后就可以使用你的新模型了!!