Module
View source
vectorizers.py
import goldener.vision.vectorizers
Vectorization tools for Vision Transformer (ViT) models.
These functions build goldener.vectorize.GoldTensorVectorizationTool instances keeping only some of the tokens
output by a ViT model: the class token, the prefix tokens (class and register tokens) or the patch tokens.
On this page
3 functions
Get a GoldTensorVectorizationTool that keeps only the class token from a ViT model.
def
get_vit_prefix_tokens_vectorizer(n_prefixes: int = 5) -> goldener.vectorize.GoldTensorVectorizationTool:
Get a GoldTensorVectorizationTool that keeps the first n_prefixes tokens from a ViT model.
Arguments:
- n_prefixes: The number of prefix tokens to keep (default is 5).
def
get_vit_patch_tokens_vectorizer( n_prefixes: int | None = 5, n_random: int | None = None, transform_y: Optional[Callable[[torch.Tensor], torch.Tensor]] = None, generator: torch._C.Generator | None = None) -> goldener.vectorize.GoldTensorVectorizationTool:
Get a GoldTensorVectorizationTool that keeps the patch tokens from a ViT model
It optionally removes the first n_prefixes tokens and keeps n_random random tokens.
Arguments:
- n_prefixes: The number of prefix tokens to remove from the start (default is 5). If None, no prefixes are removed.
- n_random: The number of random tokens to keep after removing prefixes (default is None, meaning no random tokens are kept). If None, no random filtering is applied.
- transform_y: An optional callable to transform the target variable y.
- generator: An optional torch.Generator for reproducibility when n_random is set.