最近在学习openmmlab系列的框架,其中的mmsegmentation,它使用了一种register机制来实现字符串到类的映射。
如下HEADS是Register类的一个对象。疑惑的是register_module()方法,好像是装饰器的一种使用。但是网上的装饰器的使用,是对函数的闭包的实现,也就是这样的形式:
@my_decorator
def lazy_function():
print("zzzzz")
但是这里,在后面加的是类,是这样的形式:
@HEADS.register_module()
class ASPPHead(BaseDecodeHead):
搜遍网络也没找到这种形式。感谢