--- description: Explore detailed documentation of various SAM encoder modules such as ImageEncoderViT, PromptEncoder, and more, available in Ultralytics' repository. keywords: Ultralytics, SAM encoder, ImageEncoderViT, PromptEncoder, PositionEmbeddingRandom, Block, Attention, PatchEmbed --- # Reference for `ultralytics/models/sam/modules/encoders.py` !!! Note This file is available at [https://github.com/ultralytics/ultralytics/blob/main/ultralytics/models/sam/modules/encoders.py](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/models/sam/modules/encoders.py). If you spot a problem please help fix it by [contributing](https://docs.ultralytics.com/help/contributing/) a [Pull Request](https://github.com/ultralytics/ultralytics/edit/main/ultralytics/models/sam/modules/encoders.py) 🛠️. Thank you 🙏!

## ::: ultralytics.models.sam.modules.encoders.ImageEncoderViT

## ::: ultralytics.models.sam.modules.encoders.PromptEncoder

## ::: ultralytics.models.sam.modules.encoders.PositionEmbeddingRandom

## ::: ultralytics.models.sam.modules.encoders.Block

## ::: ultralytics.models.sam.modules.encoders.Attention

## ::: ultralytics.models.sam.modules.encoders.PatchEmbed

## ::: ultralytics.models.sam.modules.encoders.window_partition

## ::: ultralytics.models.sam.modules.encoders.window_unpartition

## ::: ultralytics.models.sam.modules.encoders.get_rel_pos

## ::: ultralytics.models.sam.modules.encoders.add_decomposed_rel_pos