pytorch 通过修饰器从argparse中调用网络或method

pytorch 通过修饰器从argparse中调用网络或method:

import Method
import CNN

def export(fn):
    %通过__module__找到函数导入路径,sys.modules找到导入的文件
    mod = sys.modules[fn.__module__]
    %判断是否存在__all__,有则添加方法,没有则添加只导入该方法,
    if hasattr(mod, '__all__'):
        mod.__all__.append(fn.__name__)
    else:
        mod.__all__ = [fn.__name__]
    return fn


@export
def method(**kwargs):
    return Method(**kwargs)

@export
def cnn(**kwargs):
    return CNN(**kwargs)

 

你可能感兴趣的:(pytorch 通过修饰器从argparse中调用网络或method)