рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн ultralytics/nn/modules/transformer.py
рдиреЛрдЯ
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИ https://github.com/ultralytics/ultralytics/рдмреВрдБрдж/рдореБрдЦреНрдп/ultralytics/nn/рдореЙрдбреНрдпреВрд▓/transformer.py. рдпрджрд┐ рдЖрдк рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ ЁЯЫая╕Пред ЁЯЩП рдзрдиреНрдпрд╡рд╛рдж !
ultralytics.nn.modules.transformer.TransformerEncoderLayer
рдХрд╛ рд░реВрдк: Module
рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдПрдирдХреЛрдбрд░ рдХреА рдПрдХ рдкрд░рдд рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(c1, cm=2048, num_heads=8, dropout=0.0, act=nn.GELU(), normalize_before=False)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде TransformerEncoderLayer рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(src, src_mask=None, src_key_padding_mask=None, pos=None)
рдлреЙрд░рд╡рд░реНрдб рдПрдирдХреЛрдбрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирдкреБрдЯ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward_post(src, src_mask=None, src_key_padding_mask=None, pos=None)
рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдХреЗ рд╕рд╛рде рдлреЙрд░рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward_pre(src, src_mask=None, src_key_padding_mask=None, pos=None)
рдкреВрд░реНрд╡-рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
with_pos_embed(tensor, pos=None)
staticmethod
рд╕реНрдерд┐рддрд┐ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ tensor рдпрджрд┐ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
ultralytics.nn.modules.transformer.AIFI
рдХрд╛ рд░реВрдк: TransformerEncoderLayer
рдПрдЖрдИрдПрдлрдЖрдИ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдкрд░рдд рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(c1, cm=2048, num_heads=8, dropout=0, act=nn.GELU(), normalize_before=False)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдЖрдИрдПрдлрдЖрдИ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
build_2d_sincos_position_embedding(w, h, embed_dim=256, temperature=10000.0)
staticmethod
2D рд╕рд╛рдЗрди-рдХреЛрд╕рд╛рдЗрди рд╕реНрдерд┐рддрд┐ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдмрдирд╛рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(x)
рдПрдЖрдИрдПрдлрдЖрдИ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдлреЙрд░рд╡рд░реНрдб рдкрд╛рд╕ред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
ultralytics.nn.modules.transformer.TransformerLayer
рдХрд╛ рд░реВрдк: Module
рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдкрд░рдд https://arxiv.org/abs/2010.11929 (рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд▓реЗрдпрд░рдиреЙрд░реНрдо рдкрд░рддреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛)ред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(c, num_heads)
рд░реИрдЦрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдФрд░ рдмрд╣реБ-рд╕рд┐рд░ рдзреНрдпрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрддреНрдо-рдзреНрдпрд╛рди рддрдВрддреНрд░ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(x)
рдЗрдирдкреБрдЯ x рдкрд░ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдмреНрд▓реЙрдХ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред
ultralytics.nn.modules.transformer.TransformerBlock
рдХрд╛ рд░реВрдк: Module
рджреГрд╖реНрдЯрд┐ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ https://arxiv.org/abs/2010.11929ред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(c1, c2, num_heads, num_layers)
рд╕реНрдерд┐рддрд┐ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдФрд░ рд╕рд┐рд░ рдФрд░ рдкрд░рддреЛрдВ рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(x)
рдлреЙрд░рд╡рд░реНрдб рдЕрдбрд╝рдЪрди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдирдкреБрдЯ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
ultralytics.nn.modules.transformer.MLPBlock
рдХрд╛ рд░реВрдк: Module
рдПрдХ рдмрд╣реБ-рдкрд░рдд рдкрд░рд╕реЗрдкреНрдЯреНрд░реЙрди рдХреЗ рдПрдХрд▓ рдмреНрд▓реЙрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(embedding_dim, mlp_dim, act=nn.GELU)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЖрдпрд╛рдо, MLP рдЖрдпрд╛рдо рдФрд░ рд╕рдХреНрд░рд┐рдпрдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде MLPBlock рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
ultralytics.nn.modules.transformer.MLP
рдХрд╛ рд░реВрдк: Module
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрд╣реБ-рдкрд░рдд рдкрд░рд╕реЗрдкреНрдЯреНрд░реЙрди (рдЬрд┐рд╕реЗ рдПрдлрдПрдлрдПрди рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(input_dim, hidden_dim, output_dim, num_layers)
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ, рдЫрд┐рдкреЗ рд╣реБрдП, рдЖрдЙрдЯрдкреБрдЯ рдЖрдпрд╛рдореЛрдВ рдФрд░ рдкрд░рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдордПрд▓рдкреА рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(x)
рдкреВрд░реЗ рдПрдордПрд▓рдкреА рдХреЗ рд▓рд┐рдП рдлреЙрд░рд╡рд░реНрдб рдкрд╛рд╕ред
ultralytics.nn.modules.transformer.LayerNorm2d
рдХрд╛ рд░реВрдк: Module
Detectron2 рдФрд░ ConvNeXt рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкреНрд░реЗрд░рд┐рдд 2D рд▓реЗрдпрд░ рдиреЙрд░реНрдорд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдореЙрдбреНрдпреВрд▓ред
рдореЗрдВ рдореВрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди https://github.com/facebookresearch/detectron2/blob/main/detectron2/layers/batch_norm.py рдФрд░ https://github.com/facebookresearch/ConvNeXt/blob/main/models/convnext.pyред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(num_channels, eps=1e-06)
рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде LayerNorm2d рдХреЛ рдЗрдирд░рд┐рдЬрд┐рдирд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(x)
2D рдкрд░рдд рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдлреЙрд░рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
ultralytics.nn.modules.transformer.MSDeformAttn
рдХрд╛ рд░реВрдк: Module
рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рд╡рд┐рдХреГрдд рдзреНрдпрд╛рди рдореЙрдбреНрдпреВрд▓ рд╡рд┐рд░реВрдкрдиреАрдп-рдбреАрдИрдЯреАрдЖрд░ рдФрд░ рдкреИрдбрд▓рдбрд┐рдЯреЗрдХреНрд╢рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
https://github.com/fundamentalvision/Deformable-DETR/blob/main/models/ops/modules/ms_deform_attn.py
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
|
__init__(d_model=256, n_levels=4, n_heads=8, n_points=4)
рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде MSDeformAttn рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(query, refer_bbox, value, value_shapes, value_mask=None)
рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рд╡рд┐рдХреГрдд рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдлреЙрд░рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░реЗрдВред
https://github.com/PaddlePaddle/PaddleDetection/blob/develop/ppdet/modeling/transformers/deformable_transformer.py
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
query |
Tensor
|
[рдмреАрдПрд╕, query_length, рд╕реА] |
рдЖрд╡рд╢реНрдпрдХ |
refer_bbox |
Tensor
|
[рдмреАрдПрд╕, query_length, n_levels, 2], [0, 1] рдореЗрдВ рд╕реАрдорд╛, рдКрдкрд░реА-рдмрд╛рдПрдБ (0,0), рдиреАрдЪреЗ-рджрд╛рдПрдВ (1, 1), рдкреИрдбрд┐рдВрдЧ рдХреНрд╖реЗрддреНрд░ рд╕рд╣рд┐рдд |
рдЖрд╡рд╢реНрдпрдХ |
value |
Tensor
|
[рдмреАрдПрд╕, value_length, рд╕реА] |
рдЖрд╡рд╢реНрдпрдХ |
value_shapes |
List
|
[n_levels, 2], [(H_0, W_0), (H_1, W_1), ..., (H_{L-1}, W_{L-1})] |
рдЖрд╡рд╢реНрдпрдХ |
value_mask |
Tensor
|
[bs, value_length], рдЧреИрд░-рдкреИрдбрд┐рдВрдЧ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рддреНрдп, рдкреИрдбрд┐рдВрдЧ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд |
None
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
output |
Tensor
|
[рдмреАрдПрд╕, Length_ {рдХреНрд╡реЗрд░реА}, рд╕реА] |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
ultralytics.nn.modules.transformer.DeformableTransformerDecoderLayer
рдХрд╛ рд░реВрдк: Module
рд╡рд┐рдХреГрдд рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдбрд┐рдХреЛрдбрд░ рдкрд░рдд рдкреИрдбрд▓рдбрд┐рдЯреЗрдХреНрд╢рди рдФрд░ рд╡рд┐рд░реВрдкрдХ-рдбреАрдИрдЯреАрдЖрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред
https://github.com/PaddlePaddle/PaddleDetection/blob/develop/ppdet/modeling/transformers/deformable_transformer.py https://github.com/fundamentalvision/Deformable-DETR/blob/main/models/deformable_transformer.py
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(d_model=256, n_heads=8, d_ffn=1024, dropout=0.0, act=nn.ReLU(), n_levels=4, n_points=4)
рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде DeformableTransformerDecoderLayer рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(embed, refer_bbox, feats, shapes, padding_mask=None, attn_mask=None, query_pos=None)
рдкреВрд░реЗ рдбрд┐рдХреЛрдбрд░ рдкрд░рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдкрд╛рд╕ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward_ffn(tgt)
рдкрд░рдд рдХреЗ рдлреАрдб-рдлреЙрд░рд╡рд░реНрдб рдиреЗрдЯрд╡рд░реНрдХ рднрд╛рдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдкрд╛рд╕ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
with_pos_embed(tensor, pos)
staticmethod
рдЗрдирдкреБрдЯ рдореЗрдВ рд╕реНрдерд┐рддреАрдп рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ tensor, рдпрджрд┐ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
ultralytics.nn.modules.transformer.DeformableTransformerDecoder
рдХрд╛ рд░реВрдк: Module
рдкреИрдбрд▓ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдХреГрдд рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдбрд┐рдХреЛрдбрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
https://github.com/PaddlePaddle/PaddleDetection/blob/develop/ppdet/modeling/transformers/deformable_transformer.py
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
__init__(hidden_dim, decoder_layer, num_layers, eval_idx=-1)
рджрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде DeformableTransformerDecoder рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
forward(embed, refer_bbox, feats, shapes, bbox_head, score_head, pos_mlp, attn_mask=None, padding_mask=None)
рдкреВрд░реЗ рдбрд┐рдХреЛрдбрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЧреЗ рдкрд╛рд╕ рдХрд░реЗрдВред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/nn/modules/transformer.py
2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2023-11-25
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (3)