Views
No views yet
1from transformers import pipeline
2
3clf = pipeline(
4 "image-classification",
5 model="kenil-patel-183/mnist-cnn-digit-classifier",
6 trust_remote_code=True, # required due to custom classes
7 )
8
9preds = clf("path/to/digit.png", top_k=1)
10print(preds) # [{'label': '7', 'score': 0.998...}]1from transformers import AutoConfig, AutoModel, AutoImageProcessor
2from PIL import Image
3
4model_id = "kenil-patel-183/mnist-cnn-digit-classifier"
5config = AutoConfig.from_pretrained(model_id, trust_remote_code=True)
6model = AutoModel.from_pretrained(model_id, trust_remote_code=True)
7processor = AutoImageProcessor.from_pretrained(model_id, trust_remote_code=True)
8
9image = Image.open("digit.png")
10inputs = processor(images=image, return_tensors="pt")
11with torch.no_grad():
12 outputs = model(**inputs)
13logits = outputs.logits
14pred = logits.argmax(-1).item()
15print(pred)MNISTCNN(
(flatten): Flatten(start_dim=1, end_dim=-1)
(lin): Linear(in_features=3136, out_features=10, bias=True)
(network): Sequential(
(0): Conv2d(1, 8, kernel_size=(3, 3), stride=(1, 1))
(1): BatchNorm2d(8, eps=1e-05, momentum=0.1)
(2): ReLU()
(3): MaxPool2d(kernel_size=(2, 2), stride=2)
(4): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1))
(5): BatchNorm2d(16, eps=1e-05, momentum=0.1)
(6): ReLU()
(7): Conv2d(16, 32, kernel_size=(3, 3), stride=(1, 1))
(8): BatchNorm2d(32, eps=1e-05, momentum=0.1)
(9): ReLU()
(10): Conv2d(32, 64, kernel_size=(3, 3), stride=(1, 1))
(11): BatchNorm2d(64, eps=1e-05, momentum=0.1)
(12): ReLU()
)
)1transform = transforms.Compose([
2 transforms.Grayscale(),
3 transforms.Resize((28, 28)),
4 transforms.ToTensor(),
5 transforms.Normalize((0.1307,), (0.3081,))
6])