MCPcopy Create free account
hub / github.com/MotrixLab/AiOS / __init__

Method __init__

models/aios/transformer.py:502–552  ·  view source on GitHub ↗
(
        self,
        encoder_layer,
        num_layers,
        norm=None,
        d_model=256,
        num_queries=300,
        deformable_encoder=False,
        enc_layer_share=False,
        enc_layer_dropout_prob=None,
        two_stage_type='no',
    )

Source from the content-addressed store, hash-verified

500
501class TransformerEncoder(nn.Module):
502 def __init__(
503 self,
504 encoder_layer,
505 num_layers,
506 norm=None,
507 d_model=256,
508 num_queries=300,
509 deformable_encoder=False,
510 enc_layer_share=False,
511 enc_layer_dropout_prob=None,
512 two_stage_type='no',
513 ):
514 super().__init__()
515 # pdb.set_trace()
516 # prepare layers
517 if num_layers > 0: # 6
518 self.layers = _get_clones(
519 encoder_layer, num_layers,
520 layer_share=enc_layer_share) # enc_layer_share false
521 else:
522 self.layers = []
523 del encoder_layer
524
525 self.query_scale = None
526 self.num_queries = num_queries # 900
527 self.deformable_encoder = deformable_encoder
528 self.num_layers = num_layers # 6
529 self.norm = norm
530 self.d_model = d_model
531
532 self.enc_layer_dropout_prob = enc_layer_dropout_prob
533 if enc_layer_dropout_prob is not None:
534 assert isinstance(enc_layer_dropout_prob, list)
535 assert len(enc_layer_dropout_prob) == num_layers
536 for i in enc_layer_dropout_prob:
537 assert 0.0 <= i <= 1.0
538
539 self.two_stage_type = two_stage_type
540 if two_stage_type in ['enceachlayer', 'enclayer1']:
541 _proj_layer = nn.Linear(d_model, d_model)
542 _norm_layer = nn.LayerNorm(d_model)
543 if two_stage_type == 'enclayer1':
544 self.enc_norm = nn.ModuleList([_norm_layer])
545 self.enc_proj = nn.ModuleList([_proj_layer])
546 else:
547 self.enc_norm = nn.ModuleList([
548 copy.deepcopy(_norm_layer) for i in range(num_layers - 1)
549 ])
550 self.enc_proj = nn.ModuleList([
551 copy.deepcopy(_proj_layer) for i in range(num_layers - 1)
552 ])
553
554 @staticmethod
555 def get_reference_points(spatial_shapes, valid_ratios, device):

Callers

nothing calls this directly

Calls 3

deepcopyMethod · 0.80
_get_clonesFunction · 0.70
__init__Method · 0.45

Tested by

no test coverage detected