Image Classification
Transformers
Safetensors
English
custom_vit_nano
vit
nano
patch16
img224
custom_code
Instructions to use kd13/vit-nano-patch16-224 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use kd13/vit-nano-patch16-224 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="kd13/vit-nano-patch16-224", trust_remote_code=True) pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")# Load model directly from transformers import AutoModelForImageClassification model = AutoModelForImageClassification.from_pretrained("kd13/vit-nano-patch16-224", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update modeling_vit.py
Browse files- modeling_vit.py +4 -4
modeling_vit.py
CHANGED
|
@@ -3,7 +3,7 @@ import torch.nn as nn
|
|
| 3 |
import torch.nn.functional as F
|
| 4 |
from transformers import PreTrainedModel
|
| 5 |
from transformers.modeling_outputs import SequenceClassifierOutput
|
| 6 |
-
from .configuration_vit import
|
| 7 |
|
| 8 |
class RMSNorm(nn.Module):
|
| 9 |
def __init__(self, dim: int, eps: float = 1e-6):
|
|
@@ -133,7 +133,7 @@ class Block(nn.Module):
|
|
| 133 |
x = x + self.mlp(self.norm2(x))
|
| 134 |
return x
|
| 135 |
|
| 136 |
-
class
|
| 137 |
config_class = CustomViTNanoV2Config
|
| 138 |
base_model_prefix = "custom_vit"
|
| 139 |
main_input_name = "pixel_values"
|
|
@@ -154,7 +154,7 @@ class CustomViTNanoV2PreTrainedModel(PreTrainedModel):
|
|
| 154 |
elif isinstance(module, RMSNorm):
|
| 155 |
nn.init.ones_(module.weight)
|
| 156 |
|
| 157 |
-
class
|
| 158 |
def __init__(self, config):
|
| 159 |
super().__init__(config)
|
| 160 |
self.num_labels = config.num_classes
|
|
@@ -220,4 +220,4 @@ class CustomViTNanoV2ForImageClassification(CustomViTNanoV2PreTrainedModel):
|
|
| 220 |
logits=logits,
|
| 221 |
)
|
| 222 |
|
| 223 |
-
|
|
|
|
| 3 |
import torch.nn.functional as F
|
| 4 |
from transformers import PreTrainedModel
|
| 5 |
from transformers.modeling_outputs import SequenceClassifierOutput
|
| 6 |
+
from .configuration_vit import CustomViTNanoConfig
|
| 7 |
|
| 8 |
class RMSNorm(nn.Module):
|
| 9 |
def __init__(self, dim: int, eps: float = 1e-6):
|
|
|
|
| 133 |
x = x + self.mlp(self.norm2(x))
|
| 134 |
return x
|
| 135 |
|
| 136 |
+
class CustomViTNanoPreTrainedModel(PreTrainedModel):
|
| 137 |
config_class = CustomViTNanoV2Config
|
| 138 |
base_model_prefix = "custom_vit"
|
| 139 |
main_input_name = "pixel_values"
|
|
|
|
| 154 |
elif isinstance(module, RMSNorm):
|
| 155 |
nn.init.ones_(module.weight)
|
| 156 |
|
| 157 |
+
class CustomViTNanoForImageClassification(CustomViTNanoPreTrainedModel):
|
| 158 |
def __init__(self, config):
|
| 159 |
super().__init__(config)
|
| 160 |
self.num_labels = config.num_classes
|
|
|
|
| 220 |
logits=logits,
|
| 221 |
)
|
| 222 |
|
| 223 |
+
CustomViTNanoForImageClassification.register_for_auto_class("AutoModelForImageClassification")
|