base
fastvideo.models.encoders.base.BaseEncoderOutput
BaseEncoderOutput(last_hidden_state: torch.FloatTensor | None = None, pooler_output: torch.FloatTensor | None = None, hidden_states: tuple[torch.FloatTensor, ...] | None = None, attentions: tuple[torch.FloatTensor, ...] | None = None, attention_mask: torch.Tensor | None = None)
fastvideo.models.encoders.base.ImageEncoderConfig
ImageEncoderConfig(arch_config: ArchConfig = ImageEncoderArchConfig(), prefix: str = '', quant_config: QuantizationConfig | None = None, lora_config: Any | None = None, *, _resolved_attention_backend: AttentionBackendEnum | None = None)
fastvideo.models.encoders.base.TextEncoderConfig
TextEncoderConfig(arch_config: ArchConfig = TextEncoderArchConfig(), prefix: str = '', quant_config: QuantizationConfig | None = None, lora_config: Any | None = None, is_chat_model: bool = False, treat_empty_as_dot: bool = False, *, _resolved_attention_backend: AttentionBackendEnum | None = None, chat_template_enable_thinking: bool = False)
fastvideo.models.encoders.base.AttentionBackendEnum
AttentionBackendEnum()
fastvideo.models.encoders.base.TextEncoder
TextEncoder(config: TextEncoderConfig)
Base for native encoders with a model-specific forward output contract.
Source
class TextEncoder(nn.Module, ABC, Generic[TextEncoderOutputT]):
"""Base for native encoders with a model-specific forward output contract."""
_fsdp_shard_conditions: list = field(default_factory=lambda: [])
_stacked_params_mapping: list[tuple[str, str, str]] = field(default_factory=list)
_supported_attention_backends: tuple[AttentionBackendEnum, ...] = TextEncoderConfig()._supported_attention_backends
supported_checkpoint_quantization_methods: frozenset[str] = frozenset()
def __init__(self, config: TextEncoderConfig) -> None:
super().__init__()
self.config = config
self._fsdp_shard_conditions = config._fsdp_shard_conditions
self._stacked_params_mapping = config.arch_config.stacked_params_mapping
if not self.supported_attention_backends:
raise ValueError(f"Subclass {self.__class__.__name__} must define _supported_attention_backends")
@abstractmethod
def forward(self, *args: Any, **kwargs: Any) -> TextEncoderOutputT:
pass
@property
def supported_attention_backends(self) -> tuple[AttentionBackendEnum, ...]:
return self._supported_attention_backends</code></pre></details>
fastvideo.models.encoders.base.TextEncoder.forward
forward(*args: Any, **kwargs: Any) -> TextEncoderOutputT
Source
@abstractmethod
def forward(self, *args: Any, **kwargs: Any) -> TextEncoderOutputT:
pass
fastvideo.models.encoders.base.ImageEncoder
ImageEncoder(config: ImageEncoderConfig)
Source
class ImageEncoder(nn.Module, ABC):
_supported_attention_backends: tuple[AttentionBackendEnum, ...] = ImageEncoderConfig()._supported_attention_backends
def __init__(self, config: ImageEncoderConfig) -> None:
super().__init__()
self.config = config
if not self.supported_attention_backends:
raise ValueError(f"Subclass {self.__class__.__name__} must define _supported_attention_backends")
@abstractmethod
def forward(self, pixel_values: torch.Tensor, **kwargs) -> BaseEncoderOutput:
pass
@property
def supported_attention_backends(self) -> tuple[AttentionBackendEnum, ...]:
return self._supported_attention_backends</code></pre></details>
fastvideo.models.encoders.base.ImageEncoder.forward
forward(pixel_values: torch.Tensor, **kwargs) -> BaseEncoderOutput
Source
@abstractmethod
def forward(self, pixel_values: torch.Tensor, **kwargs) -> BaseEncoderOutput:
pass