Instructions to use adasdimchom/clip-vit-base-patch32 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use adasdimchom/clip-vit-base-patch32 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-image-classification", model="adasdimchom/clip-vit-base-patch32") pipe( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png", candidate_labels=["animals", "humans", "landscape"], )# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForZeroShotImageClassification processor = AutoProcessor.from_pretrained("adasdimchom/clip-vit-base-patch32") model = AutoModelForZeroShotImageClassification.from_pretrained("adasdimchom/clip-vit-base-patch32", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download handler.py from adasdimchom/clip-vit-base-patch32: direct link, hf CLI and curl.
- Browser
- Download file 1.18 kB
-
https://huggingface.co/adasdimchom/clip-vit-base-patch32/resolve/main/handler.py
- Command line
-
hf download hf://adasdimchom/clip-vit-base-patch32/handler.py
-
curl -L -o handler.py https://huggingface.co/adasdimchom/clip-vit-base-patch32/resolve/main/handler.py
1.18 kB
| from transformers import CLIPModel, CLIPProcessor | |
| from typing import Dict, List, Any | |
| from PIL import Image | |
| from transformers import pipeline | |
| import requests | |
| import torch | |
| class EndpointHandler(): | |
| def __init__(self, path=""): | |
| """ | |
| path: | |
| """ | |
| self.device = "cuda" if torch.cuda.is_available() else "cpu" | |
| self.processor = CLIPProcessor.from_pretrained(path) | |
| self.model = CLIPModel.from_pretrained(path).to(self.device) | |
| def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]: | |
| """ | |
| data args: | |
| inputs (:obj: `str` | `PIL.Image` | `np.array`) | |
| kwargs | |
| Return: | |
| A :obj:`list` | `dict`: will be serialized and returned | |
| """ | |
| result = {} | |
| inputs = data.pop("inputs", data) | |
| image_url = inputs['image_url'] | |
| image = Image.open(requests.get(image_url, stream=True).raw).convert('RGB') | |
| processed_image = self.processor(images=image, return_tensors="pt").to(self.device) | |
| output = self.model.get_image_features(processed_image["pixel_values"])[0].tolist() | |
| result["embedding"] = output | |
| return result | |