def __init__(self, option, model_type, dataset, modules): BaseModel.__init__(self, option) self.mode = option.loss_mode self.normalize_feature = option.normalize_feature self.loss_names = ["loss_reg", "loss"] self.metric_loss_module, self.miner_module = BaseModel.get_metric_loss_and_miner( getattr(option, "metric_loss", None), getattr(option, "miner", None) ) # Last Layer if option.mlp_cls is not None: last_mlp_opt = option.mlp_cls in_feat = last_mlp_opt.nn[0] self.FC_layer = Seq() for i in range(1, len(last_mlp_opt.nn)): self.FC_layer.append( str(i), Sequential( *[ Linear(in_feat, last_mlp_opt.nn[i], bias=False), FastBatchNorm1d(last_mlp_opt.nn[i], momentum=last_mlp_opt.bn_momentum), LeakyReLU(0.2), ] ), ) in_feat = last_mlp_opt.nn[i] if last_mlp_opt.dropout: self.FC_layer.append(Dropout(p=last_mlp_opt.dropout)) self.FC_layer.append(Linear(in_feat, in_feat, bias=False)) else: self.FC_layer = torch.nn.Identity()
def __init__(self, option, model_type, dataset, modules): BaseModel.__init__(self, option) option_unet = option.option_unet self.normalize_feature = option.normalize_feature self.grid_size = option_unet.grid_size self.unet = UnetMSparseConv3d( option_unet.backbone, input_nc=option_unet.input_nc, pointnet_nn=option_unet.pointnet_nn, post_mlp_nn=option_unet.post_mlp_nn, pre_mlp_nn=option_unet.pre_mlp_nn, add_pos=option_unet.add_pos, add_pre_x=option_unet.add_pre_x, aggr=option_unet.aggr, backend=option.backend, ) if option.mlp_cls is not None: last_mlp_opt = option.mlp_cls self.FC_layer = Seq() for i in range(1, len(last_mlp_opt.nn)): self.FC_layer.append( nn.Sequential(*[ nn.Linear(last_mlp_opt.nn[i - 1], last_mlp_opt.nn[i], bias=False), FastBatchNorm1d(last_mlp_opt.nn[i], momentum=last_mlp_opt.bn_momentum), nn.LeakyReLU(0.2), ])) if last_mlp_opt.dropout: self.FC_layer.append(nn.Dropout(p=last_mlp_opt.dropout)) else: self.FC_layer = torch.nn.Identity() self.head = nn.Sequential( nn.Linear(option.output_nc, dataset.num_classes)) self.loss_names = ["loss_seg"]
def __init__(self, option): BaseModel.__init__(self, option)