Downloads · 30 days
32
13% of all-time downloads
Aquiles-ai/MoonViT-3D
MoonViT-3D is a image feature extraction model from Aquiles-ai. Use it for the image feature extraction task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
Downloads · 30 days
32
13% of all-time downloads
All-time downloads
253
Public
Parameters
417M
1.7 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors834 MB · 100%
From the Hugging Face model README
</div>The model weights and their respective implementation were taken from moonshotai/Kimi-K2.6, so all credit and thanks go to the Moonshot AI team.
This checkpoint is the vision tower of Kimi-K2.6 stored in the native Kimi_K25VisionModel format, so it works directly with transformers — no trust_remote_code needed.
from transformers import AutoImageProcessor, AutoModel
import torch
from PIL import Image
img = Image.open("a_red_car.png")
processor = AutoImageProcessor.from_pretrained("Aquiles-ai/MoonViT-3D")
model = AutoModel.from_pretrained("Aquiles-ai/MoonViT-3D", dtype=torch.bfloat16).to("cuda")
inputs = processor(images=[img], return_tensors="pt")
with torch.no_grad():
out = model(
pixel_values=inputs["pixel_values"].to(torch.bfloat16).to("cuda"),
grid_thw=inputs["image_grid_thw"].to("cuda"),
)
print(out.last_hidden_state.shape) # (num_patches, 1152)
print(out.pooler_output.shape) # (num_merged_blocks, 4, 1152)
from transformers import AutoImageProcessor, AutoModel
import torch
from PIL import Image
img = Image.open("a_red_car.png")
img2 = Image.open("a_gray_cat.png")
processor = AutoImageProcessor.from_pretrained("Aquiles-ai/MoonViT-3D")
model = AutoModel.from_pretrained("Aquiles-ai/MoonViT-3D", dtype=torch.bfloat16).to("cuda")
inputs = processor(images=[img, img2], return_tensors="pt")
with torch.no_grad():
out = model(
pixel_values=inputs["pixel_values"].to(torch.bfloat16).to("cuda"),
grid_thw=inputs["image_grid_thw"].to("cuda"),
)
print(out.last_hidden_state.shape) # (total_patches, 1152) - flattened over the batch
print(out.pooler_output.shape) # (total_merged_blocks, 4, 1152)
grid_thw with a temporal dimension, in theory you can pass sequences of frames and get spatio-temporal features, although the modelcard doesn't include an example of this — you'd need to build it yourself.