Transformer#
- pydantic model vision_architectures.blocks.transformer.Attention1DMLPConfig[source]#
Bases:
CustomBaseModel
Show JSON schema
{ "title": "Attention1DMLPConfig", "type": "object", "properties": { "dim": { "title": "Dim", "type": "integer" }, "mlp_ratio": { "default": 4, "title": "Mlp Ratio", "type": "integer" }, "activation": { "default": "gelu", "title": "Activation", "type": "string" }, "mlp_drop_prob": { "default": 0.0, "title": "Mlp Drop Prob", "type": "number" } }, "required": [ "dim" ] }
- Config:
arbitrary_types_allowed: bool = True
extra: str = ignore
validate_default: bool = True
validate_assignment: bool = True
validate_return: bool = True
- Fields:
- Validators:
-
field dim:
int
[Required]# - Validated by:
-
field mlp_ratio:
int
= 4# - Validated by:
-
field activation:
str
= 'gelu'# - Validated by:
-
field mlp_drop_prob:
float
= 0.0# - Validated by:
- pydantic model vision_architectures.blocks.transformer.Attention3DMLPConfig[source]#
Bases:
Attention1DMLPConfig
Show JSON schema
{ "title": "Attention3DMLPConfig", "type": "object", "properties": { "dim": { "title": "Dim", "type": "integer" }, "mlp_ratio": { "default": 4, "title": "Mlp Ratio", "type": "integer" }, "activation": { "default": "gelu", "title": "Activation", "type": "string" }, "mlp_drop_prob": { "default": 0.0, "title": "Mlp Drop Prob", "type": "number" } }, "required": [ "dim" ] }
- Config:
arbitrary_types_allowed: bool = True
extra: str = ignore
validate_default: bool = True
validate_assignment: bool = True
validate_return: bool = True
- Fields:
- Validators:
- pydantic model vision_architectures.blocks.transformer.Attention1DWithMLPConfig[source]#
Bases:
Attention1DConfig
,Attention1DMLPConfig
Show JSON schema
{ "title": "Attention1DWithMLPConfig", "type": "object", "properties": { "dim": { "anyOf": [ { "type": "integer" }, { "maxItems": 2, "minItems": 2, "prefixItems": [ { "type": "integer" }, { "type": "integer" } ], "type": "array" } ], "title": "Dim" }, "mlp_ratio": { "default": 4, "title": "Mlp Ratio", "type": "integer" }, "activation": { "default": "gelu", "title": "Activation", "type": "string" }, "mlp_drop_prob": { "default": 0.0, "title": "Mlp Drop Prob", "type": "number" }, "num_heads": { "description": "Number of query heads", "title": "Num Heads", "type": "integer" }, "ratio_q_to_kv_heads": { "default": 1, "title": "Ratio Q To Kv Heads", "type": "integer" }, "logit_scale_learnable": { "default": false, "title": "Logit Scale Learnable", "type": "boolean" }, "attn_drop_prob": { "default": 0.0, "title": "Attn Drop Prob", "type": "number" }, "proj_drop_prob": { "default": 0.0, "title": "Proj Drop Prob", "type": "number" }, "max_attention_batch_size": { "default": -1, "description": "Runs attention by splitting the inputs into chunks of this size. 0 means no chunking. Useful for large inputs during inference.", "title": "Max Attention Batch Size", "type": "integer" }, "norm_location": { "default": "post", "enum": [ "pre", "post" ], "title": "Norm Location", "type": "string" }, "layer_norm_eps": { "default": 1e-06, "title": "Layer Norm Eps", "type": "number" } }, "required": [ "dim", "num_heads" ] }
- Config:
arbitrary_types_allowed: bool = True
extra: str = ignore
validate_default: bool = True
validate_assignment: bool = True
validate_return: bool = True
- Fields:
- Validators:
-
field dim:
int
|tuple
[int
,int
] [Required]# - Validated by:
-
field norm_location:
Literal
['pre'
,'post'
] = 'post'# - Validated by:
-
field layer_norm_eps:
float
= 1e-06# - Validated by:
- pydantic model vision_architectures.blocks.transformer.Attention3DWithMLPConfig[source]#
Bases:
Attention3DConfig
,Attention3DMLPConfig
Show JSON schema
{ "title": "Attention3DWithMLPConfig", "type": "object", "properties": { "dim": { "anyOf": [ { "type": "integer" }, { "maxItems": 2, "minItems": 2, "prefixItems": [ { "type": "integer" }, { "type": "integer" } ], "type": "array" } ], "title": "Dim" }, "mlp_ratio": { "default": 4, "title": "Mlp Ratio", "type": "integer" }, "activation": { "default": "gelu", "title": "Activation", "type": "string" }, "mlp_drop_prob": { "default": 0.0, "title": "Mlp Drop Prob", "type": "number" }, "num_heads": { "description": "Number of query heads", "title": "Num Heads", "type": "integer" }, "ratio_q_to_kv_heads": { "default": 1, "title": "Ratio Q To Kv Heads", "type": "integer" }, "logit_scale_learnable": { "default": false, "title": "Logit Scale Learnable", "type": "boolean" }, "attn_drop_prob": { "default": 0.0, "title": "Attn Drop Prob", "type": "number" }, "proj_drop_prob": { "default": 0.0, "title": "Proj Drop Prob", "type": "number" }, "max_attention_batch_size": { "default": -1, "description": "Runs attention by splitting the inputs into chunks of this size. 0 means no chunking. Useful for large inputs during inference.", "title": "Max Attention Batch Size", "type": "integer" }, "norm_location": { "default": "post", "enum": [ "pre", "post" ], "title": "Norm Location", "type": "string" }, "layer_norm_eps": { "default": 1e-06, "title": "Layer Norm Eps", "type": "number" } }, "required": [ "dim", "num_heads" ] }
- Config:
arbitrary_types_allowed: bool = True
extra: str = ignore
validate_default: bool = True
validate_assignment: bool = True
validate_return: bool = True
- Fields:
- Validators:
-
field dim:
int
|tuple
[int
,int
] [Required]# - Validated by:
-
field norm_location:
Literal
['pre'
,'post'
] = 'post'# - Validated by:
-
field layer_norm_eps:
float
= 1e-06# - Validated by:
- class vision_architectures.blocks.transformer.Attention1DMLP(config={}, checkpointing_level=0, **kwargs)[source]#
Bases:
Module
- __init__(config={}, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.Attention3DMLP(config={}, checkpointing_level=0, **kwargs)[source]#
Bases:
Attention1DMLP
- __init__(config={}, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.Attention1DWithMLP(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Bases:
Module
- __init__(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.Attention3DWithMLP(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Bases:
Module
- __init__(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.TransformerEncoderBlock1D(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Bases:
Attention1DWithMLP
- forward(qkv, *args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.TransformerEncoderBlock3D(config={}, relative_position_bias=None, logit_scale=None, checkpointing_level=0, **kwargs)[source]#
Bases:
Attention3DWithMLP
- forward(qkv, *args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.TransformerDecoderBlock1D(config={}, checkpointing_level=0, **kwargs)[source]#
Bases:
Module
- __init__(config={}, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class vision_architectures.blocks.transformer.TransformerDecoderBlock3D(config={}, checkpointing_level=0, **kwargs)[source]#
Bases:
Module
- __init__(config={}, checkpointing_level=0, **kwargs)[source]#
Initialize internal Module state, shared by both nn.Module and ScriptModule.
- forward(*args, **kwargs)[source]#
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.