Anthony Miyaguchi commited on
Commit
6c84b4c
1 Parent(s): d41c4d4

Add dino embeddings for offline inference

Browse files
dinov2/config.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "facebook/dinov2-base",
3
+ "apply_layernorm": true,
4
+ "architectures": [
5
+ "Dinov2Model"
6
+ ],
7
+ "attention_probs_dropout_prob": 0.0,
8
+ "drop_path_rate": 0.0,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.0,
11
+ "hidden_size": 768,
12
+ "image_size": 518,
13
+ "initializer_range": 0.02,
14
+ "layer_norm_eps": 1e-06,
15
+ "layerscale_value": 1.0,
16
+ "mlp_ratio": 4,
17
+ "model_type": "dinov2",
18
+ "num_attention_heads": 12,
19
+ "num_channels": 3,
20
+ "num_hidden_layers": 12,
21
+ "out_features": [
22
+ "stage12"
23
+ ],
24
+ "out_indices": [
25
+ 12
26
+ ],
27
+ "patch_size": 14,
28
+ "qkv_bias": true,
29
+ "reshape_hidden_states": true,
30
+ "stage_names": [
31
+ "stem",
32
+ "stage1",
33
+ "stage2",
34
+ "stage3",
35
+ "stage4",
36
+ "stage5",
37
+ "stage6",
38
+ "stage7",
39
+ "stage8",
40
+ "stage9",
41
+ "stage10",
42
+ "stage11",
43
+ "stage12"
44
+ ],
45
+ "torch_dtype": "float32",
46
+ "transformers_version": "4.37.1",
47
+ "use_swiglu_ffn": false
48
+ }
dinov2/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d73036b56966966d07975d696bde331762f37297e2f095de8cea0040c3aa0841
3
+ size 346345912
dinov2/preprocessor_config.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "crop_size": {
3
+ "height": 224,
4
+ "width": 224
5
+ },
6
+ "do_center_crop": true,
7
+ "do_convert_rgb": true,
8
+ "do_normalize": true,
9
+ "do_rescale": true,
10
+ "do_resize": true,
11
+ "image_mean": [
12
+ 0.485,
13
+ 0.456,
14
+ 0.406
15
+ ],
16
+ "image_processor_type": "BitImageProcessor",
17
+ "image_std": [
18
+ 0.229,
19
+ 0.224,
20
+ 0.225
21
+ ],
22
+ "resample": 3,
23
+ "rescale_factor": 0.00392156862745098,
24
+ "size": {
25
+ "shortest_edge": 256
26
+ }
27
+ }
save_pretrained.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoImageProcessor, AutoModel
2
+
3
+ if __name__ == "__main__":
4
+ model_name = "facebook/dinov2-base"
5
+ processor = AutoImageProcessor.from_pretrained(model_name)
6
+ model = AutoModel.from_pretrained(model_name)
7
+
8
+ # save pretrained
9
+ processor.save_pretrained("dinov2")
10
+ model.save_pretrained("dinov2")
script.py CHANGED
@@ -41,7 +41,7 @@ class LinearClassifier(nn.Module):
41
 
42
 
43
  class TransformDino:
44
- def __init__(self, model_name="facebook/dinov2-base"):
45
  self.processor = AutoImageProcessor.from_pretrained(model_name)
46
  self.model = AutoModel.from_pretrained(model_name)
47
 
 
41
 
42
 
43
  class TransformDino:
44
+ def __init__(self, model_name="./dinov2"):
45
  self.processor = AutoImageProcessor.from_pretrained(model_name)
46
  self.model = AutoModel.from_pretrained(model_name)
47