---
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