Segment Anything Model (SAM) on Apple Silicon M1 and M2

GeoSense ✅
2 min readMay 12, 2023

SAM on Mac M1 and M2

Check if your Mac with M1/M2 chip is compatible with Metal Performance Shaders (MPS). Read link below:

Insert these two lines into code to run on Metal Performance Shaders (MPS) backend.

device = 'mps' if torch.backends.mps.is_available() else 'cpu'
sam.to(device=device)
Input image. Source SAM-Medical-Imaging

Set-up

Necessary imports and helper functions for displaying points, boxes, and masks.

Import Libraries

import numpy as np
import torch
import torchvision
import matplotlib.pyplot as plt
import cv2
import pydicom

Functions

def show_mask(mask, ax, random_color=False):
if random_color:
color = np.concatenate([np.random.random(3), np.array([0.6])], axis=0)
else:
color = np.array([255/255, 200/255, 0/255, 0.6])
h, w = mask.shape[-2:]
mask_image = mask.reshape(h, w, 1) *…

--

--

GeoSense ✅

🌏 Remote sensing | 🛰️ Geographic Information Systems (GIS) | ℹ️ https://www.tnmthai.com/medium