(
self,
d_model=256,
nhead=8,
num_queries=300,
num_encoder_layers=6,
num_decoder_layers=6,
dim_feedforward=2048,
dropout=0.0,
activation='relu',
normalize_before=False,
return_intermediate_dec=False,
query_dim=4,
num_patterns=0,
modulate_hw_attn=False,
# for deformable encoder
deformable_encoder=False,
deformable_decoder=False,
num_feature_levels=1,
enc_n_points=4,
dec_n_points=4,
# init query
learnable_tgt_init=False,
random_refpoints_xy=False,
# two stage
two_stage_type='no',
two_stage_learn_wh=False,
two_stage_keep_all_tokens=False,
# evo of #anchors
dec_layer_number=None,
rm_self_attn_layers=None,
# for detach
rm_detach=None,
decoder_sa_type='sa',
module_seq=['sa', 'ca', 'ffn'],
# for pose
embed_init_tgt=False,
num_body_points=17,
num_hand_points=10,
num_face_points=10,
num_box_decoder_layers=2,
num_hand_face_decoder_layers=4,
num_group=100)
| 15 | |
| 16 | class Transformer(nn.Module): |
| 17 | def __init__( |
| 18 | self, |
| 19 | d_model=256, |
| 20 | nhead=8, |
| 21 | num_queries=300, |
| 22 | num_encoder_layers=6, |
| 23 | num_decoder_layers=6, |
| 24 | dim_feedforward=2048, |
| 25 | dropout=0.0, |
| 26 | activation='relu', |
| 27 | normalize_before=False, |
| 28 | return_intermediate_dec=False, |
| 29 | query_dim=4, |
| 30 | num_patterns=0, |
| 31 | modulate_hw_attn=False, |
| 32 | # for deformable encoder |
| 33 | deformable_encoder=False, |
| 34 | deformable_decoder=False, |
| 35 | num_feature_levels=1, |
| 36 | enc_n_points=4, |
| 37 | dec_n_points=4, |
| 38 | # init query |
| 39 | learnable_tgt_init=False, |
| 40 | random_refpoints_xy=False, |
| 41 | # two stage |
| 42 | two_stage_type='no', |
| 43 | two_stage_learn_wh=False, |
| 44 | two_stage_keep_all_tokens=False, |
| 45 | # evo of #anchors |
| 46 | dec_layer_number=None, |
| 47 | rm_self_attn_layers=None, |
| 48 | # for detach |
| 49 | rm_detach=None, |
| 50 | decoder_sa_type='sa', |
| 51 | module_seq=['sa', 'ca', 'ffn'], |
| 52 | # for pose |
| 53 | embed_init_tgt=False, |
| 54 | num_body_points=17, |
| 55 | num_hand_points=10, |
| 56 | num_face_points=10, |
| 57 | num_box_decoder_layers=2, |
| 58 | num_hand_face_decoder_layers=4, |
| 59 | num_group=100): |
| 60 | super().__init__() |
| 61 | # pdb.set_trace() |
| 62 | self.num_feature_levels = num_feature_levels # 4 |
| 63 | self.num_encoder_layers = num_encoder_layers # 6 |
| 64 | self.num_decoder_layers = num_decoder_layers # 6 |
| 65 | self.deformable_encoder = deformable_encoder |
| 66 | self.deformable_decoder = deformable_decoder |
| 67 | self.two_stage_keep_all_tokens = two_stage_keep_all_tokens # False |
| 68 | self.num_queries = num_queries # 900 |
| 69 | self.random_refpoints_xy = random_refpoints_xy # False |
| 70 | assert query_dim == 4 |
| 71 | |
| 72 | if num_feature_levels > 1: |
| 73 | assert deformable_encoder, 'only support deformable_encoder for num_feature_levels > 1' |
| 74 |
no test coverage detected