MCPcopy Index your code
hub / github.com/OpenGVLab/HumanBench / create_model

Method create_model

PATH/core/testers/tester.py:89–136  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

87 raise NotImplementedError
88
89 def create_model(self):
90 config = self.config
91
92 backbone_bn_group_size = config.backbone['kwargs'].get('bn_group_size', 1)
93 assert backbone_bn_group_size == 1, 'other bn group size not support!'
94 backbone_bn_group_comm = self.ginfo.backbone_share_group
95
96 ## build backbone
97 config.backbone['kwargs']['bn_group'] = backbone_bn_group_comm
98 backbone_module = backbones.backbone_entry(config.backbone)
99 count_parameters_num(backbone_module)
100
101 ## build necks
102 neck_bn_group_size = config.backbone['kwargs'].get('bn_group_size', 1)
103 assert neck_bn_group_size == 1, 'other bn group size not support!'
104 neck_bn_group_comm = self.ginfo.neck_share_group
105
106 neck_args = config.neck['kwargs']
107 neck_args['backbone'] = backbone_module
108 neck_args['bn_group'] = neck_bn_group_comm
109 neck_module = necks.neck_entry(config.neck)
110
111 ## add decoder
112 decoder_bn_group_size = config.backbone['kwargs'].get('bn_group_size', 1)
113 assert decoder_bn_group_size == 1, 'other bn group size not support!'
114 decoder_bn_group_comm = self.ginfo.decoder_share_group
115
116 decoder_args = config.decoder['kwargs']
117 decoder_args['backbone'] = backbone_module
118 decoder_args['neck'] = neck_module
119 decoder_args['bn_group'] = decoder_bn_group_comm
120 decoder_module = decoders.decoder_entry(config.decoder)
121
122 # build
123 model = model_entry(backbone_module, neck_module, decoder_module)
124
125 ## distributed
126 model.cuda()
127
128 if self.C_train.rank == 0:
129 print(model)
130
131 model = DistModule(model, sync=self.sync, task_grp=self.ginfo.group, \
132 share_backbone_group=self.ginfo.backbone_share_group, \
133 share_neck_group=self.ginfo.neck_share_group, \
134 share_decoder_group=self.ginfo.decoder_share_group)
135
136 self.model = model
137
138 def load(self, args):
139 if args.load_path == '':

Callers 1

initializeMethod · 0.95

Calls 5

count_parameters_numFunction · 0.90
model_entryClass · 0.90
DistModuleClass · 0.90
getMethod · 0.80
cudaMethod · 0.45

Tested by

no test coverage detected