Image Segmentation
PyTorch
sam2
custom-sam2
glove
baseball
sports-analytics
computer-vision
custom-model
Instructions to use caball21/glove_labelling with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sam2
How to use caball21/glove_labelling with sam2:
# Use SAM2 with images import torch from sam2.sam2_image_predictor import SAM2ImagePredictor predictor = SAM2ImagePredictor.from_pretrained(caball21/glove_labelling) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): predictor.set_image(<your_image>) masks, _, _ = predictor.predict(<input_prompts>)# Use SAM2 with videos import torch from sam2.sam2_video_predictor import SAM2VideoPredictor predictor = SAM2VideoPredictor.from_pretrained(caball21/glove_labelling) with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16): state = predictor.init_state(<your_video>) # add new prompts and instantly get the output on the same frame frame_idx, object_ids, masks = predictor.add_new_points(state, <your_prompts>): # propagate the prompts to get masklets throughout the video for frame_idx, object_ids, masks in predictor.propagate_in_video(state): ... - Notebooks
- Google Colab
- Kaggle
| # sam2_model_stub.py | |
| import torch | |
| import torch.nn as nn | |
| import torch.nn.functional as F | |
| class SAM2Hierarchical(nn.Module): | |
| def __init__(self, num_classes=6, in_channels=3, backbone="vit_b", freeze_backbone=True, use_cls_head=True): | |
| super().__init__() | |
| self.use_cls_head = use_cls_head | |
| # Minimal vision backbone stub (fake transformer or CNN) | |
| self.backbone = nn.Sequential( | |
| nn.Conv2d(in_channels, 64, kernel_size=3, stride=2, padding=1), | |
| nn.BatchNorm2d(64), | |
| nn.ReLU(inplace=True), | |
| nn.Conv2d(64, 128, kernel_size=3, stride=2, padding=1), | |
| nn.BatchNorm2d(128), | |
| nn.ReLU(inplace=True) | |
| ) | |
| # Segmentation head stub | |
| self.segmentation_head = nn.Sequential( | |
| nn.Conv2d(128, 64, kernel_size=3, padding=1), | |
| nn.ReLU(inplace=True), | |
| nn.Conv2d(64, num_classes, kernel_size=1) | |
| ) | |
| # Optional classification head | |
| if self.use_cls_head: | |
| self.cls_head = nn.Linear(128, num_classes) | |
| if freeze_backbone: | |
| for param in self.backbone.parameters(): | |
| param.requires_grad = False | |
| def forward(self, x): | |
| features = self.backbone(x) | |
| logits = self.segmentation_head(features) | |
| if self.use_cls_head: | |
| # Just return segmentation output; inference only cares about logits | |
| return logits | |
| return logits | |