mlx-sam-vit-base / README.md
EduardoPacheco's picture
Update README.md
2559ace verified
metadata
library_name: mlxformers
tags:
  - mlx

Model Details

MLX implementation of Segment-Anything model this checkopint is the same from facebook/sam-vit-base

Model Usage

import requests
from PIL import Image
from mlxformers import MlxSamModel
from transformers import SamProcessor
from transformers.tokenization_utils import BatchEncoding # Temporary

model = MlxSamModel.from_pretrained("EduardoPacheco/mlx-sam-vit-base")
processor = SamProcessor.from_pretrained("EduardoPacheco/mlx-sam-vit-base")

img_url = "https://huggingface.co/ybelkada/segment-anything/resolve/main/assets/car.png"
raw_image = Image.open(requests.get(img_url, stream=True).raw).convert("RGB")
input_points = [[[450, 600]]] # 2D localization of a window

inputs = processor(raw_image, input_points=input_points, return_tensors="np")
# There's currently a bug when using `return_tensors="np"`
inputs["input_points"] = inputs["input_points"][None]
inputs = BatchEncoding(data=dict(inputs), tensor_type="mlx")

outputs = model(**inputs)
masks = model.post_process_masks(
  masks=outputs.pred_masks,
  original_sizes=mlx_inputs.original_sizes,
  reshaped_input_sizes=mlx_inputs.reshaped_input_sizes,
  pad_size=processor.image_processor.pad_size,
  binarize=False,
)
scores = outputs.iou_scores