See our collection for all versions of SAM.

Run SAM with Keras 3: JAX, PyTorch, or TensorFlow

GitHub Docs Collection

kerasformers/sam_vit_large

Paper: Segment Anything (arXiv:2304.02643) · HF Papers

SAM (Segment Anything Model) segments whatever you point at. It has no class vocabulary: you give it a prompt (a click or a box) and it returns a mask. A heavy ViT image encoder runs once per image; the prompt encoder and mask decoder are light enough for interactive use.

For more details on the model, please go to Meta's original model card.

Pure-Keras 3 conversion of facebook/sam-vit-large for kerasformers. One implementation runs unmodified on TensorFlow / Torch / JAX.

This is a promptable segmentation checkpoint (SAMPromptableSegment): point (and optional box) prompts, backbone ViT-L.

✨ Quick start

import os
os.environ["KERAS_BACKEND"] = "torch"  # or "jax" / "tensorflow"

import numpy as np
from PIL import Image
from kerasformers.models.sam import (
    SAMPromptableSegment,
    SAMImageProcessorWithPrompts,
)

model = SAMPromptableSegment.from_weights("kerasformers/sam_vit_large")
processor = SAMImageProcessorWithPrompts()

image = Image.open("your_image.jpg").convert("RGB")
inputs = processor(
    image,
    input_points=np.array([[[[450, 200]]]], dtype="float32"),
    input_labels=np.array([[[1]]], dtype="int32"),
)
META = ("original_size", "reshaped_size")
output = model({k: v for k, v in inputs.items() if k not in META})
masks = processor.post_process_masks(
    output["pred_masks"], original_size=inputs["original_size"]
)
print(output["iou_scores"].shape, masks.shape)

Load any SAM / SAM2 / SAM3 variant the same way with from_weights("kerasformers/<variant>") (use SAMPromptableSegment for this repo):

Variant Hub Family
sam_vit_base kerasformers/sam_vit_base SAM
sam_vit_large kerasformers/sam_vit_large SAM
sam_vit_huge kerasformers/sam_vit_huge SAM
sam2_hiera_small kerasformers/sam2_hiera_small SAM2
sam2_hiera_base_plus kerasformers/sam2_hiera_base_plus SAM2
sam2_hiera_large kerasformers/sam2_hiera_large SAM2
sam3 kerasformers/sam3 SAM3

Tips

  • Set KERAS_BACKEND before importing Keras / kerasformers.
  • SAM / SAM2: point coordinates are in original pixel space; box prompts need enable_boxes=True / include_box_input=True when building the graph.
  • SAM2 in this port is image-only (no video memory bank).
  • SAM3: prefer SAM3InstanceSegment.predict(...) for text prompts; upstream facebook/sam3 is gated.
  • See SAM docs and Loading Weights.
  • Community / upstream safetensors still work via the hf: prefix, e.g. SAMPromptableSegment.from_weights("hf:facebook/sam-vit-large").

Special Thanks

A huge thank you to the Meta Segment Anything authors for creating and releasing these models.

License: Apache 2.0.

Downloads last month
25
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kerasformers/sam_vit_large

Finetuned
(1)
this model

Collection including kerasformers/sam_vit_large

Paper for kerasformers/sam_vit_large