本文共 1207 字,大约阅读时间需要 4 分钟。
在看moco源码时发下有个这样的代码不知道咋用的,复现了一下
model = moco.builder.MoCo( # 这种初始化模型的方式是因为导包的时候导到了moco这一层 models.__dict__[args.arch], args.moco_dim, args.moco_k, args.moco_m, args.moco_t, args.mlp)print(model)
具体复现过程如下:
1、文件夹目录如下:只需要红框框住的这三个.py文件就行,test文件夹下有一个__init__.py的启动文件,和一个test2.py文件,test.py文件和test文件夹目录同级from .test2 import *
2.2 test2.py文件中的代码如下:
__all__ = ['ResNet', 'resnet18', 'resnet34', 'resnet50', 'resnet101']def ResNet(): print('ResNet')def resnet18(): print('resnet18')def resnet34(): print('resnet34')def resnet50(): print('resnet50')def resnet101(): print('resnet101')
3、test.py中的代码如下:
import testclass Test: def __init__(self, model_name='', age='', sex=''): self.model_name = model_name self.age = age self.sex = sex print('self.model_name', self.model_name) print('self.age', self.age) print('self.sex', self.sex)new_test = Test(test.__dict__['resnet50'], '18', 'boy')print('----------')test.__dict__['resnet50']() # 调用函数print(new_test.model_name) # 函数对象new_test.model_name() # 调用函数
4、执行test.py文件结果如下:
转载地址:http://abffk.baihongyu.com/