license: mit | |
pipeline_tag: image-feature-extraction | |
library_name: transformers | |
<div align="center"> | |
<img width="30%" src="figures/logo.png"> | |
</div> | |
## Introduction | |
**MoonViT** is a Native-resolution Vision Encoder, which is initialized from and continually pre-trained on **SigLIP-SO-400M**. | |
To facilitate the standalone use of MoonViT, we have separated the implementation and weights of MoonViT from [moonshotai/Kimi-VL-A3B-Instruct](https://huggingface.co/moonshotai/Kimi-VL-A3B-Instruct). | |
If you are interested in the training process of MoonViT, you are welcome to read Paper [Kimi-VL Technical Report](https://huggingface.co/papers/2504.07491). | |
## Example usage | |
```python | |
from PIL import Image | |
from transformers import AutoModel, AutoImageProcessor | |
model_path = "moonshotai/MoonViT-SO-400M" | |
model = AutoModel.from_pretrained( | |
model_path, | |
torch_dtype="auto", | |
device_map="auto", | |
trust_remote_code=True, | |
) | |
processor = AutoImageProcessor.from_pretrained(model_path, trust_remote_code=True) | |
image_path = "./figures/demo.png" | |
image = Image.open(image_path) | |
images_processed = processor(image, return_tensors="pt").to(dtype=model.dtype, device=model.device) | |
image_features: list = model(images_processed.pixel_values, images_processed.image_grid_hws) | |
print(f"dtype: {image_features[0].dtype}, shape: {image_features[0].shape}") | |
# dtype: torch.bfloat16, shape: torch.Size([1092, 4, 1152]) | |
``` |