MagicXin commited on
Commit
8183abe
·
verified ·
1 Parent(s): a54a454

Upload folder using huggingface_hub

Browse files
added_tokens.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</tool_call>": 151658,
3
+ "<im_patch>": 151665,
4
+ "<tool_call>": 151657,
5
+ "<|box_end|>": 151649,
6
+ "<|box_start|>": 151648,
7
+ "<|endoftext|>": 151643,
8
+ "<|file_sep|>": 151664,
9
+ "<|fim_middle|>": 151660,
10
+ "<|fim_pad|>": 151662,
11
+ "<|fim_prefix|>": 151659,
12
+ "<|fim_suffix|>": 151661,
13
+ "<|im_end|>": 151645,
14
+ "<|im_start|>": 151644,
15
+ "<|image_pad|>": 151655,
16
+ "<|object_ref_end|>": 151647,
17
+ "<|object_ref_start|>": 151646,
18
+ "<|quad_end|>": 151651,
19
+ "<|quad_start|>": 151650,
20
+ "<|repo_name|>": 151663,
21
+ "<|video_pad|>": 151656,
22
+ "<|vision_end|>": 151653,
23
+ "<|vision_pad|>": 151654,
24
+ "<|vision_start|>": 151652
25
+ }
config.json ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "Qwen/Qwen2.5-7B-Instruct",
3
+ "architectures": [
4
+ "VLMQwenForCausalLM"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "auto_map": {
8
+ "AutoConfig": "modeling.VLMQwenConfig",
9
+ "AutoModelForCausalLM": "modeling.VLMQwenForCausalLM"
10
+ },
11
+ "bos_token_id": 151643,
12
+ "depth": 12,
13
+ "dim": 768,
14
+ "eos_token_id": 151645,
15
+ "hidden_act": "silu",
16
+ "hidden_size": 3584,
17
+ "high_input_size": [
18
+ 32,
19
+ 768
20
+ ],
21
+ "high_output_size": [
22
+ 64,
23
+ 128
24
+ ],
25
+ "initializer_range": 0.02,
26
+ "input_size": [
27
+ 256,
28
+ 256,
29
+ 128
30
+ ],
31
+ "intermediate_size": 18944,
32
+ "low_input_size": [
33
+ 256,
34
+ 384
35
+ ],
36
+ "low_output_size": [
37
+ 192,
38
+ 128
39
+ ],
40
+ "max_position_embeddings": 32768,
41
+ "max_window_layers": 28,
42
+ "mm_hidden_size": 768,
43
+ "mm_mlp_depth": 2,
44
+ "mm_projector_type": "mixer",
45
+ "model_type": "vlm_qwen",
46
+ "num_attention_heads": 28,
47
+ "num_hidden_layers": 28,
48
+ "num_key_value_heads": 4,
49
+ "patch_size": [
50
+ 16,
51
+ 16,
52
+ 16
53
+ ],
54
+ "proj_out_num": 256,
55
+ "rms_norm_eps": 1e-06,
56
+ "rope_scaling": null,
57
+ "rope_theta": 1000000.0,
58
+ "sliding_window": null,
59
+ "tie_word_embeddings": false,
60
+ "torch_dtype": "bfloat16",
61
+ "transformers_version": "4.48.3",
62
+ "use_cache": true,
63
+ "use_sliding_window": false,
64
+ "vision_select_feature": "cls_patch",
65
+ "vision_select_layer": -2,
66
+ "vision_tower": "dcformer",
67
+ "vocab_size": 151666
68
+ }
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 151643,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 151645,
6
+ 151643
7
+ ],
8
+ "pad_token_id": 151643,
9
+ "repetition_penalty": 1.05,
10
+ "temperature": 0.7,
11
+ "top_k": 20,
12
+ "top_p": 0.8,
13
+ "transformers_version": "4.48.3"
14
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model-00001-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b2418d7b4facbb6b288b05c8b7a4e9efc45714232db22ef9726300e18705582
3
+ size 4970981488
model-00002-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b6045591339825729e23efde8bf149b54ccacfe31d260057278ab7394addd65c
3
+ size 4778622352
model-00003-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a1b0c70d4f822a7e48d5943b5532c6c469635e5c903e5262f6e4183993dbf6a
3
+ size 4932743960
model-00004-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37d12057bef138430364de20a4edb7ef94e7b2be9ebd6151230fa053641085ad
3
+ size 4932743992
model-00005-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07f87aad047dcec06aab134272be9f412d41776b7f3aeba4a05ddf2ffef258b8
3
+ size 4998852296
model-00006-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d577d20479436de45481d01c6f33e45b8cda3fb9188acc3ec0d3a4960a84e44
3
+ size 3924909896
model-00007-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e23ede018b6f13894c298d4df8d8c7c4fcd91c39ff3d94c3da19fb55758af42
3
+ size 2174283904
model.safetensors.index.json ADDED
@@ -0,0 +1,820 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_size": 30713035928
4
+ },
5
+ "weight_map": {
6
+ "lm_head.weight": "model-00007-of-00007.safetensors",
7
+ "model.embed_tokens.weight": "model-00001-of-00007.safetensors",
8
+ "model.layers.0.input_layernorm.weight": "model-00001-of-00007.safetensors",
9
+ "model.layers.0.mlp.down_proj.weight": "model-00001-of-00007.safetensors",
10
+ "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00007.safetensors",
11
+ "model.layers.0.mlp.up_proj.weight": "model-00001-of-00007.safetensors",
12
+ "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00007.safetensors",
13
+ "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00007.safetensors",
14
+ "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00007.safetensors",
15
+ "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00007.safetensors",
16
+ "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00007.safetensors",
17
+ "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00007.safetensors",
18
+ "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00007.safetensors",
19
+ "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00007.safetensors",
20
+ "model.layers.1.input_layernorm.weight": "model-00001-of-00007.safetensors",
21
+ "model.layers.1.mlp.down_proj.weight": "model-00001-of-00007.safetensors",
22
+ "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00007.safetensors",
23
+ "model.layers.1.mlp.up_proj.weight": "model-00001-of-00007.safetensors",
24
+ "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00007.safetensors",
25
+ "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00007.safetensors",
26
+ "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00007.safetensors",
27
+ "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00007.safetensors",
28
+ "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00007.safetensors",
29
+ "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00007.safetensors",
30
+ "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00007.safetensors",
31
+ "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00007.safetensors",
32
+ "model.layers.10.input_layernorm.weight": "model-00003-of-00007.safetensors",
33
+ "model.layers.10.mlp.down_proj.weight": "model-00003-of-00007.safetensors",
34
+ "model.layers.10.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
35
+ "model.layers.10.mlp.up_proj.weight": "model-00003-of-00007.safetensors",
36
+ "model.layers.10.post_attention_layernorm.weight": "model-00003-of-00007.safetensors",
37
+ "model.layers.10.self_attn.k_proj.bias": "model-00003-of-00007.safetensors",
38
+ "model.layers.10.self_attn.k_proj.weight": "model-00003-of-00007.safetensors",
39
+ "model.layers.10.self_attn.o_proj.weight": "model-00003-of-00007.safetensors",
40
+ "model.layers.10.self_attn.q_proj.bias": "model-00003-of-00007.safetensors",
41
+ "model.layers.10.self_attn.q_proj.weight": "model-00003-of-00007.safetensors",
42
+ "model.layers.10.self_attn.v_proj.bias": "model-00003-of-00007.safetensors",
43
+ "model.layers.10.self_attn.v_proj.weight": "model-00003-of-00007.safetensors",
44
+ "model.layers.11.input_layernorm.weight": "model-00003-of-00007.safetensors",
45
+ "model.layers.11.mlp.down_proj.weight": "model-00003-of-00007.safetensors",
46
+ "model.layers.11.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
47
+ "model.layers.11.mlp.up_proj.weight": "model-00003-of-00007.safetensors",
48
+ "model.layers.11.post_attention_layernorm.weight": "model-00003-of-00007.safetensors",
49
+ "model.layers.11.self_attn.k_proj.bias": "model-00003-of-00007.safetensors",
50
+ "model.layers.11.self_attn.k_proj.weight": "model-00003-of-00007.safetensors",
51
+ "model.layers.11.self_attn.o_proj.weight": "model-00003-of-00007.safetensors",
52
+ "model.layers.11.self_attn.q_proj.bias": "model-00003-of-00007.safetensors",
53
+ "model.layers.11.self_attn.q_proj.weight": "model-00003-of-00007.safetensors",
54
+ "model.layers.11.self_attn.v_proj.bias": "model-00003-of-00007.safetensors",
55
+ "model.layers.11.self_attn.v_proj.weight": "model-00003-of-00007.safetensors",
56
+ "model.layers.12.input_layernorm.weight": "model-00003-of-00007.safetensors",
57
+ "model.layers.12.mlp.down_proj.weight": "model-00003-of-00007.safetensors",
58
+ "model.layers.12.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
59
+ "model.layers.12.mlp.up_proj.weight": "model-00003-of-00007.safetensors",
60
+ "model.layers.12.post_attention_layernorm.weight": "model-00003-of-00007.safetensors",
61
+ "model.layers.12.self_attn.k_proj.bias": "model-00003-of-00007.safetensors",
62
+ "model.layers.12.self_attn.k_proj.weight": "model-00003-of-00007.safetensors",
63
+ "model.layers.12.self_attn.o_proj.weight": "model-00003-of-00007.safetensors",
64
+ "model.layers.12.self_attn.q_proj.bias": "model-00003-of-00007.safetensors",
65
+ "model.layers.12.self_attn.q_proj.weight": "model-00003-of-00007.safetensors",
66
+ "model.layers.12.self_attn.v_proj.bias": "model-00003-of-00007.safetensors",
67
+ "model.layers.12.self_attn.v_proj.weight": "model-00003-of-00007.safetensors",
68
+ "model.layers.13.input_layernorm.weight": "model-00004-of-00007.safetensors",
69
+ "model.layers.13.mlp.down_proj.weight": "model-00004-of-00007.safetensors",
70
+ "model.layers.13.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
71
+ "model.layers.13.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
72
+ "model.layers.13.post_attention_layernorm.weight": "model-00004-of-00007.safetensors",
73
+ "model.layers.13.self_attn.k_proj.bias": "model-00003-of-00007.safetensors",
74
+ "model.layers.13.self_attn.k_proj.weight": "model-00003-of-00007.safetensors",
75
+ "model.layers.13.self_attn.o_proj.weight": "model-00003-of-00007.safetensors",
76
+ "model.layers.13.self_attn.q_proj.bias": "model-00003-of-00007.safetensors",
77
+ "model.layers.13.self_attn.q_proj.weight": "model-00003-of-00007.safetensors",
78
+ "model.layers.13.self_attn.v_proj.bias": "model-00003-of-00007.safetensors",
79
+ "model.layers.13.self_attn.v_proj.weight": "model-00003-of-00007.safetensors",
80
+ "model.layers.14.input_layernorm.weight": "model-00004-of-00007.safetensors",
81
+ "model.layers.14.mlp.down_proj.weight": "model-00004-of-00007.safetensors",
82
+ "model.layers.14.mlp.gate_proj.weight": "model-00004-of-00007.safetensors",
83
+ "model.layers.14.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
84
+ "model.layers.14.post_attention_layernorm.weight": "model-00004-of-00007.safetensors",
85
+ "model.layers.14.self_attn.k_proj.bias": "model-00004-of-00007.safetensors",
86
+ "model.layers.14.self_attn.k_proj.weight": "model-00004-of-00007.safetensors",
87
+ "model.layers.14.self_attn.o_proj.weight": "model-00004-of-00007.safetensors",
88
+ "model.layers.14.self_attn.q_proj.bias": "model-00004-of-00007.safetensors",
89
+ "model.layers.14.self_attn.q_proj.weight": "model-00004-of-00007.safetensors",
90
+ "model.layers.14.self_attn.v_proj.bias": "model-00004-of-00007.safetensors",
91
+ "model.layers.14.self_attn.v_proj.weight": "model-00004-of-00007.safetensors",
92
+ "model.layers.15.input_layernorm.weight": "model-00004-of-00007.safetensors",
93
+ "model.layers.15.mlp.down_proj.weight": "model-00004-of-00007.safetensors",
94
+ "model.layers.15.mlp.gate_proj.weight": "model-00004-of-00007.safetensors",
95
+ "model.layers.15.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
96
+ "model.layers.15.post_attention_layernorm.weight": "model-00004-of-00007.safetensors",
97
+ "model.layers.15.self_attn.k_proj.bias": "model-00004-of-00007.safetensors",
98
+ "model.layers.15.self_attn.k_proj.weight": "model-00004-of-00007.safetensors",
99
+ "model.layers.15.self_attn.o_proj.weight": "model-00004-of-00007.safetensors",
100
+ "model.layers.15.self_attn.q_proj.bias": "model-00004-of-00007.safetensors",
101
+ "model.layers.15.self_attn.q_proj.weight": "model-00004-of-00007.safetensors",
102
+ "model.layers.15.self_attn.v_proj.bias": "model-00004-of-00007.safetensors",
103
+ "model.layers.15.self_attn.v_proj.weight": "model-00004-of-00007.safetensors",
104
+ "model.layers.16.input_layernorm.weight": "model-00004-of-00007.safetensors",
105
+ "model.layers.16.mlp.down_proj.weight": "model-00004-of-00007.safetensors",
106
+ "model.layers.16.mlp.gate_proj.weight": "model-00004-of-00007.safetensors",
107
+ "model.layers.16.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
108
+ "model.layers.16.post_attention_layernorm.weight": "model-00004-of-00007.safetensors",
109
+ "model.layers.16.self_attn.k_proj.bias": "model-00004-of-00007.safetensors",
110
+ "model.layers.16.self_attn.k_proj.weight": "model-00004-of-00007.safetensors",
111
+ "model.layers.16.self_attn.o_proj.weight": "model-00004-of-00007.safetensors",
112
+ "model.layers.16.self_attn.q_proj.bias": "model-00004-of-00007.safetensors",
113
+ "model.layers.16.self_attn.q_proj.weight": "model-00004-of-00007.safetensors",
114
+ "model.layers.16.self_attn.v_proj.bias": "model-00004-of-00007.safetensors",
115
+ "model.layers.16.self_attn.v_proj.weight": "model-00004-of-00007.safetensors",
116
+ "model.layers.17.input_layernorm.weight": "model-00004-of-00007.safetensors",
117
+ "model.layers.17.mlp.down_proj.weight": "model-00004-of-00007.safetensors",
118
+ "model.layers.17.mlp.gate_proj.weight": "model-00004-of-00007.safetensors",
119
+ "model.layers.17.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
120
+ "model.layers.17.post_attention_layernorm.weight": "model-00004-of-00007.safetensors",
121
+ "model.layers.17.self_attn.k_proj.bias": "model-00004-of-00007.safetensors",
122
+ "model.layers.17.self_attn.k_proj.weight": "model-00004-of-00007.safetensors",
123
+ "model.layers.17.self_attn.o_proj.weight": "model-00004-of-00007.safetensors",
124
+ "model.layers.17.self_attn.q_proj.bias": "model-00004-of-00007.safetensors",
125
+ "model.layers.17.self_attn.q_proj.weight": "model-00004-of-00007.safetensors",
126
+ "model.layers.17.self_attn.v_proj.bias": "model-00004-of-00007.safetensors",
127
+ "model.layers.17.self_attn.v_proj.weight": "model-00004-of-00007.safetensors",
128
+ "model.layers.18.input_layernorm.weight": "model-00005-of-00007.safetensors",
129
+ "model.layers.18.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
130
+ "model.layers.18.mlp.gate_proj.weight": "model-00004-of-00007.safetensors",
131
+ "model.layers.18.mlp.up_proj.weight": "model-00004-of-00007.safetensors",
132
+ "model.layers.18.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
133
+ "model.layers.18.self_attn.k_proj.bias": "model-00004-of-00007.safetensors",
134
+ "model.layers.18.self_attn.k_proj.weight": "model-00004-of-00007.safetensors",
135
+ "model.layers.18.self_attn.o_proj.weight": "model-00004-of-00007.safetensors",
136
+ "model.layers.18.self_attn.q_proj.bias": "model-00004-of-00007.safetensors",
137
+ "model.layers.18.self_attn.q_proj.weight": "model-00004-of-00007.safetensors",
138
+ "model.layers.18.self_attn.v_proj.bias": "model-00004-of-00007.safetensors",
139
+ "model.layers.18.self_attn.v_proj.weight": "model-00004-of-00007.safetensors",
140
+ "model.layers.19.input_layernorm.weight": "model-00005-of-00007.safetensors",
141
+ "model.layers.19.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
142
+ "model.layers.19.mlp.gate_proj.weight": "model-00005-of-00007.safetensors",
143
+ "model.layers.19.mlp.up_proj.weight": "model-00005-of-00007.safetensors",
144
+ "model.layers.19.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
145
+ "model.layers.19.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
146
+ "model.layers.19.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
147
+ "model.layers.19.self_attn.o_proj.weight": "model-00005-of-00007.safetensors",
148
+ "model.layers.19.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
149
+ "model.layers.19.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
150
+ "model.layers.19.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
151
+ "model.layers.19.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
152
+ "model.layers.2.input_layernorm.weight": "model-00001-of-00007.safetensors",
153
+ "model.layers.2.mlp.down_proj.weight": "model-00001-of-00007.safetensors",
154
+ "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00007.safetensors",
155
+ "model.layers.2.mlp.up_proj.weight": "model-00001-of-00007.safetensors",
156
+ "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00007.safetensors",
157
+ "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00007.safetensors",
158
+ "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00007.safetensors",
159
+ "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00007.safetensors",
160
+ "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00007.safetensors",
161
+ "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00007.safetensors",
162
+ "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00007.safetensors",
163
+ "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00007.safetensors",
164
+ "model.layers.20.input_layernorm.weight": "model-00005-of-00007.safetensors",
165
+ "model.layers.20.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
166
+ "model.layers.20.mlp.gate_proj.weight": "model-00005-of-00007.safetensors",
167
+ "model.layers.20.mlp.up_proj.weight": "model-00005-of-00007.safetensors",
168
+ "model.layers.20.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
169
+ "model.layers.20.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
170
+ "model.layers.20.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
171
+ "model.layers.20.self_attn.o_proj.weight": "model-00005-of-00007.safetensors",
172
+ "model.layers.20.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
173
+ "model.layers.20.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
174
+ "model.layers.20.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
175
+ "model.layers.20.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
176
+ "model.layers.21.input_layernorm.weight": "model-00005-of-00007.safetensors",
177
+ "model.layers.21.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
178
+ "model.layers.21.mlp.gate_proj.weight": "model-00005-of-00007.safetensors",
179
+ "model.layers.21.mlp.up_proj.weight": "model-00005-of-00007.safetensors",
180
+ "model.layers.21.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
181
+ "model.layers.21.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
182
+ "model.layers.21.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
183
+ "model.layers.21.self_attn.o_proj.weight": "model-00005-of-00007.safetensors",
184
+ "model.layers.21.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
185
+ "model.layers.21.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
186
+ "model.layers.21.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
187
+ "model.layers.21.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
188
+ "model.layers.22.input_layernorm.weight": "model-00005-of-00007.safetensors",
189
+ "model.layers.22.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
190
+ "model.layers.22.mlp.gate_proj.weight": "model-00005-of-00007.safetensors",
191
+ "model.layers.22.mlp.up_proj.weight": "model-00005-of-00007.safetensors",
192
+ "model.layers.22.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
193
+ "model.layers.22.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
194
+ "model.layers.22.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
195
+ "model.layers.22.self_attn.o_proj.weight": "model-00005-of-00007.safetensors",
196
+ "model.layers.22.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
197
+ "model.layers.22.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
198
+ "model.layers.22.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
199
+ "model.layers.22.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
200
+ "model.layers.23.input_layernorm.weight": "model-00005-of-00007.safetensors",
201
+ "model.layers.23.mlp.down_proj.weight": "model-00005-of-00007.safetensors",
202
+ "model.layers.23.mlp.gate_proj.weight": "model-00005-of-00007.safetensors",
203
+ "model.layers.23.mlp.up_proj.weight": "model-00005-of-00007.safetensors",
204
+ "model.layers.23.post_attention_layernorm.weight": "model-00005-of-00007.safetensors",
205
+ "model.layers.23.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
206
+ "model.layers.23.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
207
+ "model.layers.23.self_attn.o_proj.weight": "model-00005-of-00007.safetensors",
208
+ "model.layers.23.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
209
+ "model.layers.23.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
210
+ "model.layers.23.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
211
+ "model.layers.23.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
212
+ "model.layers.24.input_layernorm.weight": "model-00006-of-00007.safetensors",
213
+ "model.layers.24.mlp.down_proj.weight": "model-00006-of-00007.safetensors",
214
+ "model.layers.24.mlp.gate_proj.weight": "model-00006-of-00007.safetensors",
215
+ "model.layers.24.mlp.up_proj.weight": "model-00006-of-00007.safetensors",
216
+ "model.layers.24.post_attention_layernorm.weight": "model-00006-of-00007.safetensors",
217
+ "model.layers.24.self_attn.k_proj.bias": "model-00005-of-00007.safetensors",
218
+ "model.layers.24.self_attn.k_proj.weight": "model-00005-of-00007.safetensors",
219
+ "model.layers.24.self_attn.o_proj.weight": "model-00006-of-00007.safetensors",
220
+ "model.layers.24.self_attn.q_proj.bias": "model-00005-of-00007.safetensors",
221
+ "model.layers.24.self_attn.q_proj.weight": "model-00005-of-00007.safetensors",
222
+ "model.layers.24.self_attn.v_proj.bias": "model-00005-of-00007.safetensors",
223
+ "model.layers.24.self_attn.v_proj.weight": "model-00005-of-00007.safetensors",
224
+ "model.layers.25.input_layernorm.weight": "model-00006-of-00007.safetensors",
225
+ "model.layers.25.mlp.down_proj.weight": "model-00006-of-00007.safetensors",
226
+ "model.layers.25.mlp.gate_proj.weight": "model-00006-of-00007.safetensors",
227
+ "model.layers.25.mlp.up_proj.weight": "model-00006-of-00007.safetensors",
228
+ "model.layers.25.post_attention_layernorm.weight": "model-00006-of-00007.safetensors",
229
+ "model.layers.25.self_attn.k_proj.bias": "model-00006-of-00007.safetensors",
230
+ "model.layers.25.self_attn.k_proj.weight": "model-00006-of-00007.safetensors",
231
+ "model.layers.25.self_attn.o_proj.weight": "model-00006-of-00007.safetensors",
232
+ "model.layers.25.self_attn.q_proj.bias": "model-00006-of-00007.safetensors",
233
+ "model.layers.25.self_attn.q_proj.weight": "model-00006-of-00007.safetensors",
234
+ "model.layers.25.self_attn.v_proj.bias": "model-00006-of-00007.safetensors",
235
+ "model.layers.25.self_attn.v_proj.weight": "model-00006-of-00007.safetensors",
236
+ "model.layers.26.input_layernorm.weight": "model-00006-of-00007.safetensors",
237
+ "model.layers.26.mlp.down_proj.weight": "model-00006-of-00007.safetensors",
238
+ "model.layers.26.mlp.gate_proj.weight": "model-00006-of-00007.safetensors",
239
+ "model.layers.26.mlp.up_proj.weight": "model-00006-of-00007.safetensors",
240
+ "model.layers.26.post_attention_layernorm.weight": "model-00006-of-00007.safetensors",
241
+ "model.layers.26.self_attn.k_proj.bias": "model-00006-of-00007.safetensors",
242
+ "model.layers.26.self_attn.k_proj.weight": "model-00006-of-00007.safetensors",
243
+ "model.layers.26.self_attn.o_proj.weight": "model-00006-of-00007.safetensors",
244
+ "model.layers.26.self_attn.q_proj.bias": "model-00006-of-00007.safetensors",
245
+ "model.layers.26.self_attn.q_proj.weight": "model-00006-of-00007.safetensors",
246
+ "model.layers.26.self_attn.v_proj.bias": "model-00006-of-00007.safetensors",
247
+ "model.layers.26.self_attn.v_proj.weight": "model-00006-of-00007.safetensors",
248
+ "model.layers.27.input_layernorm.weight": "model-00006-of-00007.safetensors",
249
+ "model.layers.27.mlp.down_proj.weight": "model-00006-of-00007.safetensors",
250
+ "model.layers.27.mlp.gate_proj.weight": "model-00006-of-00007.safetensors",
251
+ "model.layers.27.mlp.up_proj.weight": "model-00006-of-00007.safetensors",
252
+ "model.layers.27.post_attention_layernorm.weight": "model-00006-of-00007.safetensors",
253
+ "model.layers.27.self_attn.k_proj.bias": "model-00006-of-00007.safetensors",
254
+ "model.layers.27.self_attn.k_proj.weight": "model-00006-of-00007.safetensors",
255
+ "model.layers.27.self_attn.o_proj.weight": "model-00006-of-00007.safetensors",
256
+ "model.layers.27.self_attn.q_proj.bias": "model-00006-of-00007.safetensors",
257
+ "model.layers.27.self_attn.q_proj.weight": "model-00006-of-00007.safetensors",
258
+ "model.layers.27.self_attn.v_proj.bias": "model-00006-of-00007.safetensors",
259
+ "model.layers.27.self_attn.v_proj.weight": "model-00006-of-00007.safetensors",
260
+ "model.layers.3.input_layernorm.weight": "model-00002-of-00007.safetensors",
261
+ "model.layers.3.mlp.down_proj.weight": "model-00002-of-00007.safetensors",
262
+ "model.layers.3.mlp.gate_proj.weight": "model-00002-of-00007.safetensors",
263
+ "model.layers.3.mlp.up_proj.weight": "model-00002-of-00007.safetensors",
264
+ "model.layers.3.post_attention_layernorm.weight": "model-00002-of-00007.safetensors",
265
+ "model.layers.3.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
266
+ "model.layers.3.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
267
+ "model.layers.3.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
268
+ "model.layers.3.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
269
+ "model.layers.3.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
270
+ "model.layers.3.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
271
+ "model.layers.3.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
272
+ "model.layers.4.input_layernorm.weight": "model-00002-of-00007.safetensors",
273
+ "model.layers.4.mlp.down_proj.weight": "model-00002-of-00007.safetensors",
274
+ "model.layers.4.mlp.gate_proj.weight": "model-00002-of-00007.safetensors",
275
+ "model.layers.4.mlp.up_proj.weight": "model-00002-of-00007.safetensors",
276
+ "model.layers.4.post_attention_layernorm.weight": "model-00002-of-00007.safetensors",
277
+ "model.layers.4.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
278
+ "model.layers.4.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
279
+ "model.layers.4.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
280
+ "model.layers.4.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
281
+ "model.layers.4.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
282
+ "model.layers.4.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
283
+ "model.layers.4.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
284
+ "model.layers.5.input_layernorm.weight": "model-00002-of-00007.safetensors",
285
+ "model.layers.5.mlp.down_proj.weight": "model-00002-of-00007.safetensors",
286
+ "model.layers.5.mlp.gate_proj.weight": "model-00002-of-00007.safetensors",
287
+ "model.layers.5.mlp.up_proj.weight": "model-00002-of-00007.safetensors",
288
+ "model.layers.5.post_attention_layernorm.weight": "model-00002-of-00007.safetensors",
289
+ "model.layers.5.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
290
+ "model.layers.5.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
291
+ "model.layers.5.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
292
+ "model.layers.5.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
293
+ "model.layers.5.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
294
+ "model.layers.5.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
295
+ "model.layers.5.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
296
+ "model.layers.6.input_layernorm.weight": "model-00002-of-00007.safetensors",
297
+ "model.layers.6.mlp.down_proj.weight": "model-00002-of-00007.safetensors",
298
+ "model.layers.6.mlp.gate_proj.weight": "model-00002-of-00007.safetensors",
299
+ "model.layers.6.mlp.up_proj.weight": "model-00002-of-00007.safetensors",
300
+ "model.layers.6.post_attention_layernorm.weight": "model-00002-of-00007.safetensors",
301
+ "model.layers.6.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
302
+ "model.layers.6.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
303
+ "model.layers.6.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
304
+ "model.layers.6.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
305
+ "model.layers.6.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
306
+ "model.layers.6.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
307
+ "model.layers.6.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
308
+ "model.layers.7.input_layernorm.weight": "model-00002-of-00007.safetensors",
309
+ "model.layers.7.mlp.down_proj.weight": "model-00002-of-00007.safetensors",
310
+ "model.layers.7.mlp.gate_proj.weight": "model-00002-of-00007.safetensors",
311
+ "model.layers.7.mlp.up_proj.weight": "model-00002-of-00007.safetensors",
312
+ "model.layers.7.post_attention_layernorm.weight": "model-00002-of-00007.safetensors",
313
+ "model.layers.7.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
314
+ "model.layers.7.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
315
+ "model.layers.7.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
316
+ "model.layers.7.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
317
+ "model.layers.7.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
318
+ "model.layers.7.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
319
+ "model.layers.7.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
320
+ "model.layers.8.input_layernorm.weight": "model-00003-of-00007.safetensors",
321
+ "model.layers.8.mlp.down_proj.weight": "model-00003-of-00007.safetensors",
322
+ "model.layers.8.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
323
+ "model.layers.8.mlp.up_proj.weight": "model-00003-of-00007.safetensors",
324
+ "model.layers.8.post_attention_layernorm.weight": "model-00003-of-00007.safetensors",
325
+ "model.layers.8.self_attn.k_proj.bias": "model-00002-of-00007.safetensors",
326
+ "model.layers.8.self_attn.k_proj.weight": "model-00002-of-00007.safetensors",
327
+ "model.layers.8.self_attn.o_proj.weight": "model-00002-of-00007.safetensors",
328
+ "model.layers.8.self_attn.q_proj.bias": "model-00002-of-00007.safetensors",
329
+ "model.layers.8.self_attn.q_proj.weight": "model-00002-of-00007.safetensors",
330
+ "model.layers.8.self_attn.v_proj.bias": "model-00002-of-00007.safetensors",
331
+ "model.layers.8.self_attn.v_proj.weight": "model-00002-of-00007.safetensors",
332
+ "model.layers.9.input_layernorm.weight": "model-00003-of-00007.safetensors",
333
+ "model.layers.9.mlp.down_proj.weight": "model-00003-of-00007.safetensors",
334
+ "model.layers.9.mlp.gate_proj.weight": "model-00003-of-00007.safetensors",
335
+ "model.layers.9.mlp.up_proj.weight": "model-00003-of-00007.safetensors",
336
+ "model.layers.9.post_attention_layernorm.weight": "model-00003-of-00007.safetensors",
337
+ "model.layers.9.self_attn.k_proj.bias": "model-00003-of-00007.safetensors",
338
+ "model.layers.9.self_attn.k_proj.weight": "model-00003-of-00007.safetensors",
339
+ "model.layers.9.self_attn.o_proj.weight": "model-00003-of-00007.safetensors",
340
+ "model.layers.9.self_attn.q_proj.bias": "model-00003-of-00007.safetensors",
341
+ "model.layers.9.self_attn.q_proj.weight": "model-00003-of-00007.safetensors",
342
+ "model.layers.9.self_attn.v_proj.bias": "model-00003-of-00007.safetensors",
343
+ "model.layers.9.self_attn.v_proj.weight": "model-00003-of-00007.safetensors",
344
+ "model.mm_projector.high_mixer.0.ln1.bias": "model-00006-of-00007.safetensors",
345
+ "model.mm_projector.high_mixer.0.ln1.weight": "model-00006-of-00007.safetensors",
346
+ "model.mm_projector.high_mixer.0.ln2.bias": "model-00006-of-00007.safetensors",
347
+ "model.mm_projector.high_mixer.0.ln2.weight": "model-00006-of-00007.safetensors",
348
+ "model.mm_projector.high_mixer.0.mlp1.mm_projector.0.bias": "model-00006-of-00007.safetensors",
349
+ "model.mm_projector.high_mixer.0.mlp1.mm_projector.0.weight": "model-00006-of-00007.safetensors",
350
+ "model.mm_projector.high_mixer.0.mlp1.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
351
+ "model.mm_projector.high_mixer.0.mlp1.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
352
+ "model.mm_projector.high_mixer.0.mlp2.mm_projector.0.bias": "model-00006-of-00007.safetensors",
353
+ "model.mm_projector.high_mixer.0.mlp2.mm_projector.0.weight": "model-00006-of-00007.safetensors",
354
+ "model.mm_projector.high_mixer.0.mlp2.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
355
+ "model.mm_projector.high_mixer.0.mlp2.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
356
+ "model.mm_projector.high_mixer.1.ln1.bias": "model-00006-of-00007.safetensors",
357
+ "model.mm_projector.high_mixer.1.ln1.weight": "model-00006-of-00007.safetensors",
358
+ "model.mm_projector.high_mixer.1.ln2.bias": "model-00006-of-00007.safetensors",
359
+ "model.mm_projector.high_mixer.1.ln2.weight": "model-00006-of-00007.safetensors",
360
+ "model.mm_projector.high_mixer.1.mlp1.mm_projector.0.bias": "model-00006-of-00007.safetensors",
361
+ "model.mm_projector.high_mixer.1.mlp1.mm_projector.0.weight": "model-00006-of-00007.safetensors",
362
+ "model.mm_projector.high_mixer.1.mlp1.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
363
+ "model.mm_projector.high_mixer.1.mlp1.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
364
+ "model.mm_projector.high_mixer.1.mlp2.mm_projector.0.bias": "model-00006-of-00007.safetensors",
365
+ "model.mm_projector.high_mixer.1.mlp2.mm_projector.0.weight": "model-00006-of-00007.safetensors",
366
+ "model.mm_projector.high_mixer.1.mlp2.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
367
+ "model.mm_projector.high_mixer.1.mlp2.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
368
+ "model.mm_projector.low_mixer.0.ln1.bias": "model-00006-of-00007.safetensors",
369
+ "model.mm_projector.low_mixer.0.ln1.weight": "model-00006-of-00007.safetensors",
370
+ "model.mm_projector.low_mixer.0.ln2.bias": "model-00006-of-00007.safetensors",
371
+ "model.mm_projector.low_mixer.0.ln2.weight": "model-00006-of-00007.safetensors",
372
+ "model.mm_projector.low_mixer.0.mlp1.mm_projector.0.bias": "model-00006-of-00007.safetensors",
373
+ "model.mm_projector.low_mixer.0.mlp1.mm_projector.0.weight": "model-00006-of-00007.safetensors",
374
+ "model.mm_projector.low_mixer.0.mlp1.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
375
+ "model.mm_projector.low_mixer.0.mlp1.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
376
+ "model.mm_projector.low_mixer.0.mlp2.mm_projector.0.bias": "model-00006-of-00007.safetensors",
377
+ "model.mm_projector.low_mixer.0.mlp2.mm_projector.0.weight": "model-00006-of-00007.safetensors",
378
+ "model.mm_projector.low_mixer.0.mlp2.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
379
+ "model.mm_projector.low_mixer.0.mlp2.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
380
+ "model.mm_projector.low_mixer.1.ln1.bias": "model-00006-of-00007.safetensors",
381
+ "model.mm_projector.low_mixer.1.ln1.weight": "model-00006-of-00007.safetensors",
382
+ "model.mm_projector.low_mixer.1.ln2.bias": "model-00006-of-00007.safetensors",
383
+ "model.mm_projector.low_mixer.1.ln2.weight": "model-00006-of-00007.safetensors",
384
+ "model.mm_projector.low_mixer.1.mlp1.mm_projector.0.bias": "model-00006-of-00007.safetensors",
385
+ "model.mm_projector.low_mixer.1.mlp1.mm_projector.0.weight": "model-00006-of-00007.safetensors",
386
+ "model.mm_projector.low_mixer.1.mlp1.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
387
+ "model.mm_projector.low_mixer.1.mlp1.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
388
+ "model.mm_projector.low_mixer.1.mlp2.mm_projector.0.bias": "model-00006-of-00007.safetensors",
389
+ "model.mm_projector.low_mixer.1.mlp2.mm_projector.0.weight": "model-00006-of-00007.safetensors",
390
+ "model.mm_projector.low_mixer.1.mlp2.mm_projector.1.1.bias": "model-00006-of-00007.safetensors",
391
+ "model.mm_projector.low_mixer.1.mlp2.mm_projector.1.1.weight": "model-00006-of-00007.safetensors",
392
+ "model.norm.weight": "model-00006-of-00007.safetensors",
393
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.0.bias": "model-00006-of-00007.safetensors",
394
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.0.weight": "model-00006-of-00007.safetensors",
395
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.1.bias": "model-00006-of-00007.safetensors",
396
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
397
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.1.running_mean": "model-00006-of-00007.safetensors",
398
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.1.running_var": "model-00006-of-00007.safetensors",
399
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c1.1.weight": "model-00006-of-00007.safetensors",
400
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.0.bias": "model-00006-of-00007.safetensors",
401
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.0.weight": "model-00006-of-00007.safetensors",
402
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.1.bias": "model-00006-of-00007.safetensors",
403
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
404
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.1.running_mean": "model-00006-of-00007.safetensors",
405
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.1.running_var": "model-00006-of-00007.safetensors",
406
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c2.1.weight": "model-00006-of-00007.safetensors",
407
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.0.bias": "model-00006-of-00007.safetensors",
408
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.0.weight": "model-00006-of-00007.safetensors",
409
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.1.bias": "model-00006-of-00007.safetensors",
410
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
411
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.1.running_mean": "model-00006-of-00007.safetensors",
412
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.1.running_var": "model-00006-of-00007.safetensors",
413
+ "model.vision_tower.vision_tower.encoder.s0.0.0.c3.1.weight": "model-00006-of-00007.safetensors",
414
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.0.bias": "model-00006-of-00007.safetensors",
415
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.0.weight": "model-00006-of-00007.safetensors",
416
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.1.bias": "model-00006-of-00007.safetensors",
417
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
418
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.1.running_mean": "model-00006-of-00007.safetensors",
419
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.1.running_var": "model-00006-of-00007.safetensors",
420
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c1.1.weight": "model-00006-of-00007.safetensors",
421
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.0.bias": "model-00006-of-00007.safetensors",
422
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.0.weight": "model-00006-of-00007.safetensors",
423
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.1.bias": "model-00006-of-00007.safetensors",
424
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
425
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.1.running_mean": "model-00006-of-00007.safetensors",
426
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.1.running_var": "model-00006-of-00007.safetensors",
427
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c2.1.weight": "model-00006-of-00007.safetensors",
428
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.0.bias": "model-00006-of-00007.safetensors",
429
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.0.weight": "model-00006-of-00007.safetensors",
430
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.1.bias": "model-00006-of-00007.safetensors",
431
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
432
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.1.running_mean": "model-00006-of-00007.safetensors",
433
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.1.running_var": "model-00006-of-00007.safetensors",
434
+ "model.vision_tower.vision_tower.encoder.s0.0.1.c3.1.weight": "model-00006-of-00007.safetensors",
435
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.0.bias": "model-00006-of-00007.safetensors",
436
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.0.weight": "model-00006-of-00007.safetensors",
437
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.1.bias": "model-00006-of-00007.safetensors",
438
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
439
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.1.running_mean": "model-00006-of-00007.safetensors",
440
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.1.running_var": "model-00006-of-00007.safetensors",
441
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c1.1.weight": "model-00006-of-00007.safetensors",
442
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.0.bias": "model-00006-of-00007.safetensors",
443
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.0.weight": "model-00006-of-00007.safetensors",
444
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.1.bias": "model-00006-of-00007.safetensors",
445
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
446
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.1.running_mean": "model-00006-of-00007.safetensors",
447
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.1.running_var": "model-00006-of-00007.safetensors",
448
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c2.1.weight": "model-00006-of-00007.safetensors",
449
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.0.bias": "model-00006-of-00007.safetensors",
450
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.0.weight": "model-00006-of-00007.safetensors",
451
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.1.bias": "model-00006-of-00007.safetensors",
452
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
453
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.1.running_mean": "model-00006-of-00007.safetensors",
454
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.1.running_var": "model-00006-of-00007.safetensors",
455
+ "model.vision_tower.vision_tower.encoder.s0.0.2.c3.1.weight": "model-00006-of-00007.safetensors",
456
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.0.bias": "model-00006-of-00007.safetensors",
457
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.0.weight": "model-00006-of-00007.safetensors",
458
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.1.bias": "model-00006-of-00007.safetensors",
459
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
460
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.1.running_mean": "model-00006-of-00007.safetensors",
461
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.1.running_var": "model-00006-of-00007.safetensors",
462
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c1.1.weight": "model-00006-of-00007.safetensors",
463
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.0.bias": "model-00006-of-00007.safetensors",
464
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.0.weight": "model-00006-of-00007.safetensors",
465
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.1.bias": "model-00006-of-00007.safetensors",
466
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
467
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.1.running_mean": "model-00006-of-00007.safetensors",
468
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.1.running_var": "model-00006-of-00007.safetensors",
469
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c2.1.weight": "model-00006-of-00007.safetensors",
470
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.0.bias": "model-00006-of-00007.safetensors",
471
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.0.weight": "model-00006-of-00007.safetensors",
472
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.1.bias": "model-00006-of-00007.safetensors",
473
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
474
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.1.running_mean": "model-00006-of-00007.safetensors",
475
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.1.running_var": "model-00006-of-00007.safetensors",
476
+ "model.vision_tower.vision_tower.encoder.s0.0.3.c3.1.weight": "model-00006-of-00007.safetensors",
477
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
478
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
479
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
480
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
481
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
482
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
483
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
484
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
485
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
486
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
487
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
488
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
489
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
490
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
491
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
492
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
493
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
494
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
495
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
496
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
497
+ "model.vision_tower.vision_tower.encoder.s1.0.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
498
+ "model.vision_tower.vision_tower.encoder.s1.0.gamma": "model-00006-of-00007.safetensors",
499
+ "model.vision_tower.vision_tower.encoder.s1.0.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
500
+ "model.vision_tower.vision_tower.encoder.s1.0.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
501
+ "model.vision_tower.vision_tower.encoder.s1.0.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
502
+ "model.vision_tower.vision_tower.encoder.s1.0.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
503
+ "model.vision_tower.vision_tower.encoder.s1.0.proj.weight": "model-00006-of-00007.safetensors",
504
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
505
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
506
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
507
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
508
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
509
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
510
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
511
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
512
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
513
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
514
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
515
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
516
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
517
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
518
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
519
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
520
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
521
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
522
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
523
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
524
+ "model.vision_tower.vision_tower.encoder.s1.1.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
525
+ "model.vision_tower.vision_tower.encoder.s1.1.gamma": "model-00006-of-00007.safetensors",
526
+ "model.vision_tower.vision_tower.encoder.s1.1.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
527
+ "model.vision_tower.vision_tower.encoder.s1.1.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
528
+ "model.vision_tower.vision_tower.encoder.s1.1.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
529
+ "model.vision_tower.vision_tower.encoder.s1.1.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
530
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
531
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
532
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
533
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
534
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
535
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
536
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
537
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
538
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
539
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
540
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
541
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
542
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
543
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
544
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
545
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
546
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
547
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
548
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
549
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
550
+ "model.vision_tower.vision_tower.encoder.s2.0.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
551
+ "model.vision_tower.vision_tower.encoder.s2.0.gamma": "model-00006-of-00007.safetensors",
552
+ "model.vision_tower.vision_tower.encoder.s2.0.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
553
+ "model.vision_tower.vision_tower.encoder.s2.0.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
554
+ "model.vision_tower.vision_tower.encoder.s2.0.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
555
+ "model.vision_tower.vision_tower.encoder.s2.0.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
556
+ "model.vision_tower.vision_tower.encoder.s2.0.proj.weight": "model-00006-of-00007.safetensors",
557
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
558
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
559
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
560
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
561
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
562
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
563
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
564
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
565
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
566
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
567
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
568
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
569
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
570
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
571
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
572
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
573
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
574
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
575
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
576
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
577
+ "model.vision_tower.vision_tower.encoder.s2.1.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
578
+ "model.vision_tower.vision_tower.encoder.s2.1.gamma": "model-00006-of-00007.safetensors",
579
+ "model.vision_tower.vision_tower.encoder.s2.1.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
580
+ "model.vision_tower.vision_tower.encoder.s2.1.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
581
+ "model.vision_tower.vision_tower.encoder.s2.1.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
582
+ "model.vision_tower.vision_tower.encoder.s2.1.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
583
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
584
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
585
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
586
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
587
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
588
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
589
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
590
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
591
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
592
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
593
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
594
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
595
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
596
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
597
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
598
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
599
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
600
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
601
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
602
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
603
+ "model.vision_tower.vision_tower.encoder.s2.2.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
604
+ "model.vision_tower.vision_tower.encoder.s2.2.gamma": "model-00006-of-00007.safetensors",
605
+ "model.vision_tower.vision_tower.encoder.s2.2.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
606
+ "model.vision_tower.vision_tower.encoder.s2.2.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
607
+ "model.vision_tower.vision_tower.encoder.s2.2.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
608
+ "model.vision_tower.vision_tower.encoder.s2.2.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
609
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
610
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
611
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
612
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
613
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
614
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
615
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
616
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
617
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
618
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
619
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
620
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
621
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
622
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
623
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
624
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
625
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
626
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
627
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
628
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
629
+ "model.vision_tower.vision_tower.encoder.s3.0.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
630
+ "model.vision_tower.vision_tower.encoder.s3.0.gamma": "model-00006-of-00007.safetensors",
631
+ "model.vision_tower.vision_tower.encoder.s3.0.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
632
+ "model.vision_tower.vision_tower.encoder.s3.0.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
633
+ "model.vision_tower.vision_tower.encoder.s3.0.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
634
+ "model.vision_tower.vision_tower.encoder.s3.0.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
635
+ "model.vision_tower.vision_tower.encoder.s3.0.proj.weight": "model-00006-of-00007.safetensors",
636
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
637
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
638
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
639
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
640
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
641
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
642
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
643
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
644
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
645
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
646
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
647
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
648
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
649
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
650
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
651
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
652
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
653
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
654
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
655
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
656
+ "model.vision_tower.vision_tower.encoder.s3.1.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
657
+ "model.vision_tower.vision_tower.encoder.s3.1.gamma": "model-00006-of-00007.safetensors",
658
+ "model.vision_tower.vision_tower.encoder.s3.1.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
659
+ "model.vision_tower.vision_tower.encoder.s3.1.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
660
+ "model.vision_tower.vision_tower.encoder.s3.1.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
661
+ "model.vision_tower.vision_tower.encoder.s3.1.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
662
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
663
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
664
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
665
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
666
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
667
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
668
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
669
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
670
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
671
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
672
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
673
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
674
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
675
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
676
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
677
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
678
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
679
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
680
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
681
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
682
+ "model.vision_tower.vision_tower.encoder.s3.2.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
683
+ "model.vision_tower.vision_tower.encoder.s3.2.gamma": "model-00006-of-00007.safetensors",
684
+ "model.vision_tower.vision_tower.encoder.s3.2.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
685
+ "model.vision_tower.vision_tower.encoder.s3.2.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
686
+ "model.vision_tower.vision_tower.encoder.s3.2.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
687
+ "model.vision_tower.vision_tower.encoder.s3.2.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
688
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
689
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
690
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
691
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
692
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
693
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
694
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
695
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
696
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
697
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
698
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
699
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
700
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
701
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
702
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
703
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
704
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
705
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
706
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
707
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
708
+ "model.vision_tower.vision_tower.encoder.s3.3.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
709
+ "model.vision_tower.vision_tower.encoder.s3.3.gamma": "model-00006-of-00007.safetensors",
710
+ "model.vision_tower.vision_tower.encoder.s3.3.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
711
+ "model.vision_tower.vision_tower.encoder.s3.3.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
712
+ "model.vision_tower.vision_tower.encoder.s3.3.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
713
+ "model.vision_tower.vision_tower.encoder.s3.3.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
714
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
715
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
716
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
717
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
718
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
719
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
720
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
721
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
722
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
723
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
724
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
725
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
726
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
727
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
728
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
729
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
730
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
731
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
732
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
733
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
734
+ "model.vision_tower.vision_tower.encoder.s3.4.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
735
+ "model.vision_tower.vision_tower.encoder.s3.4.gamma": "model-00006-of-00007.safetensors",
736
+ "model.vision_tower.vision_tower.encoder.s3.4.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
737
+ "model.vision_tower.vision_tower.encoder.s3.4.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
738
+ "model.vision_tower.vision_tower.encoder.s3.4.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
739
+ "model.vision_tower.vision_tower.encoder.s3.4.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
740
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
741
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
742
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
743
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
744
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
745
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
746
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
747
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
748
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
749
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
750
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
751
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
752
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
753
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
754
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
755
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
756
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
757
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
758
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
759
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
760
+ "model.vision_tower.vision_tower.encoder.s3.5.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
761
+ "model.vision_tower.vision_tower.encoder.s3.5.gamma": "model-00006-of-00007.safetensors",
762
+ "model.vision_tower.vision_tower.encoder.s3.5.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
763
+ "model.vision_tower.vision_tower.encoder.s3.5.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
764
+ "model.vision_tower.vision_tower.encoder.s3.5.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
765
+ "model.vision_tower.vision_tower.encoder.s3.5.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
766
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
767
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
768
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
769
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
770
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
771
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
772
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
773
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
774
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
775
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
776
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
777
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
778
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
779
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
780
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
781
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
782
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
783
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
784
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
785
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
786
+ "model.vision_tower.vision_tower.encoder.s4.0.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
787
+ "model.vision_tower.vision_tower.encoder.s4.0.gamma": "model-00006-of-00007.safetensors",
788
+ "model.vision_tower.vision_tower.encoder.s4.0.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
789
+ "model.vision_tower.vision_tower.encoder.s4.0.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
790
+ "model.vision_tower.vision_tower.encoder.s4.0.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
791
+ "model.vision_tower.vision_tower.encoder.s4.0.mlp.mlp.3.weight": "model-00006-of-00007.safetensors",
792
+ "model.vision_tower.vision_tower.encoder.s4.0.proj.weight": "model-00006-of-00007.safetensors",
793
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.0.bias": "model-00006-of-00007.safetensors",
794
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.0.weight": "model-00006-of-00007.safetensors",
795
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.1.bias": "model-00006-of-00007.safetensors",
796
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.1.num_batches_tracked": "model-00006-of-00007.safetensors",
797
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.1.running_mean": "model-00006-of-00007.safetensors",
798
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.1.running_var": "model-00006-of-00007.safetensors",
799
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c1.1.weight": "model-00006-of-00007.safetensors",
800
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.0.bias": "model-00006-of-00007.safetensors",
801
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.0.weight": "model-00006-of-00007.safetensors",
802
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.1.bias": "model-00006-of-00007.safetensors",
803
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.1.num_batches_tracked": "model-00006-of-00007.safetensors",
804
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.1.running_mean": "model-00006-of-00007.safetensors",
805
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.1.running_var": "model-00006-of-00007.safetensors",
806
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c2.1.weight": "model-00006-of-00007.safetensors",
807
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.0.bias": "model-00006-of-00007.safetensors",
808
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.0.weight": "model-00006-of-00007.safetensors",
809
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.1.bias": "model-00006-of-00007.safetensors",
810
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.1.num_batches_tracked": "model-00006-of-00007.safetensors",
811
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.1.running_mean": "model-00006-of-00007.safetensors",
812
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.1.running_var": "model-00006-of-00007.safetensors",
813
+ "model.vision_tower.vision_tower.encoder.s4.1.dwconv.c3.1.weight": "model-00006-of-00007.safetensors",
814
+ "model.vision_tower.vision_tower.encoder.s4.1.gamma": "model-00006-of-00007.safetensors",
815
+ "model.vision_tower.vision_tower.encoder.s4.1.mlp.mlp.0.bias": "model-00006-of-00007.safetensors",
816
+ "model.vision_tower.vision_tower.encoder.s4.1.mlp.mlp.0.weight": "model-00006-of-00007.safetensors",
817
+ "model.vision_tower.vision_tower.encoder.s4.1.mlp.mlp.3.bias": "model-00006-of-00007.safetensors",
818
+ "model.vision_tower.vision_tower.encoder.s4.1.mlp.mlp.3.weight": "model-00006-of-00007.safetensors"
819
+ }
820
+ }
modeling.py ADDED
@@ -0,0 +1,1721 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import math
2
+ from abc import ABC, abstractmethod
3
+ from typing import Any, List, Optional, Tuple, Union
4
+
5
+ import numpy as np
6
+ import torch
7
+ import torch.nn as nn
8
+ import torch.nn.functional as F
9
+ from einops import pack, rearrange, repeat, unpack
10
+ from einops.layers.torch import Rearrange
11
+ from timm.layers import DropPath, to_3tuple, trunc_normal_
12
+ from transformers import (
13
+ AutoConfig,
14
+ AutoModel,
15
+ AutoModelForCausalLM,
16
+ PretrainedConfig,
17
+ PreTrainedModel,
18
+ Qwen2Config,
19
+ Qwen2ForCausalLM,
20
+ Qwen2Model,
21
+ )
22
+ from transformers.generation.utils import GenerateOutput
23
+ from transformers.modeling_outputs import CausalLMOutputWithPast
24
+
25
+ try:
26
+ import torch.distributed.nn
27
+ from torch import distributed as dist
28
+
29
+ has_distributed = True
30
+ except ImportError:
31
+ has_distributed = False
32
+
33
+
34
+ class DEC_CLIPConfig(PretrainedConfig):
35
+ model_type = "dec_clip"
36
+
37
+ def __init__(
38
+ self,
39
+ language_model_name_or_path: str = "",
40
+ local_loss: bool = False,
41
+ gather_loss: bool = True,
42
+ input_size: tuple = (256, 256, 128),
43
+ dim: int = 768,
44
+ depth: int = 12,
45
+ hidden_size: int = 512,
46
+ mlp_depth: int = 2,
47
+ loss_type: str = "nce",
48
+ t_prime: float = np.log(1 / 0.07),
49
+ bias: float = 0.0,
50
+ efficient_loss: bool = False,
51
+ **kwargs,
52
+ ):
53
+ self.language_model_name_or_path = language_model_name_or_path
54
+ self.input_size = input_size
55
+ self.dim = dim
56
+ self.depth = depth
57
+ self.hidden_size = hidden_size
58
+ self.mlp_depth = mlp_depth
59
+ self.local_loss = local_loss
60
+ self.gather_loss = gather_loss
61
+ self.loss_type = loss_type
62
+ self.t_prime = t_prime
63
+ self.bias = bias
64
+ self.efficient_loss = efficient_loss
65
+ super().__init__(**kwargs)
66
+
67
+
68
+ class DEC_CLIP(PreTrainedModel):
69
+ config_class = DEC_CLIPConfig
70
+
71
+ def __init__(self, config):
72
+ super().__init__(config)
73
+
74
+ self.config = config
75
+
76
+ if config.vision_encoder == "vit3d":
77
+ self.vision_encoder = Vit3D(
78
+ input_size=config.input_size,
79
+ dim=config.dim,
80
+ depth=config.depth,
81
+ )
82
+ elif config.vision_encoder == "dcformer":
83
+ self.vision_encoder = decomp_small(input_size=config.input_size)
84
+ else:
85
+ raise ValueError(f"Unexpected vision encoder: {config.vision_encoder}")
86
+
87
+ self.language_encoder = AutoModel.from_pretrained(
88
+ config.language_model_name_or_path
89
+ )
90
+
91
+ self.mm_vision_proj = nn.Linear(
92
+ self.vision_encoder.channels[-1], config.hidden_size
93
+ )
94
+ self.mm_language_proj = nn.Linear(
95
+ self.language_encoder.config.dim, config.hidden_size
96
+ )
97
+
98
+ self.efficient_loss = config.efficient_loss
99
+ self.local_loss = config.local_loss
100
+ self.gather_loss = config.gather_loss
101
+ self.loss_type = config.loss_type
102
+
103
+ if self.loss_type == "sigmoid":
104
+ self.t_prime = nn.Parameter(torch.tensor(config.t_prime))
105
+ self.bias = nn.Parameter(torch.tensor(config.bias))
106
+ else:
107
+ self.logit_scale = nn.Parameter(torch.ones([]) * config.t_prime)
108
+
109
+ def encode_image(self, image):
110
+ image_feats = self.vision_encoder(image)
111
+ if isinstance(image_feats, list):
112
+ image_feats = image_feats[-1]
113
+ image_feats = image_feats.mean(dim=1)
114
+ image_feats = self.mm_vision_proj(image_feats)
115
+ image_feats = F.normalize(image_feats, dim=-1)
116
+
117
+ return image_feats
118
+
119
+ def encode_text(self, input_id, attention_mask):
120
+ text_feats = self.language_encoder(input_id, attention_mask=attention_mask)[
121
+ "last_hidden_state"
122
+ ]
123
+ text_feats = text_feats[:, 0]
124
+ text_feats = self.mm_language_proj(text_feats)
125
+ text_feats = F.normalize(text_feats, dim=-1)
126
+
127
+ return text_feats
128
+
129
+ def forward(self, images, input_ids, attention_mask, labels, **kwargs):
130
+ image_features = self.encode_image(images)
131
+ text_features = self.encode_text(input_ids, attention_mask)
132
+
133
+ rank = 0
134
+ world_size = 1
135
+ if has_distributed and dist.is_initialized():
136
+ rank = dist.get_rank()
137
+ world_size = dist.get_world_size()
138
+
139
+ batch_size = image_features.size(0)
140
+ device = image_features.device
141
+ if self.loss_type == "sigmoid":
142
+ if has_distributed and dist.is_initialized():
143
+ if self.efficient_loss:
144
+ t = torch.exp(self.t_prime)
145
+ loss = 0.0
146
+
147
+ for target_rank in range(world_size):
148
+ if rank == target_rank:
149
+ target_text_features = text_features
150
+ else:
151
+ target_text_features = torch.distributed.nn.broadcast(
152
+ text_features.requires_grad_(), target_rank
153
+ )
154
+
155
+ local_logits_per_image = (
156
+ image_features @ target_text_features.T
157
+ ) * t + self.bias
158
+ local_logits_per_text = local_logits_per_image.T
159
+
160
+ if rank == target_rank:
161
+ local_labels = 2 * torch.eye(
162
+ batch_size, device=device
163
+ ) - torch.ones(batch_size, batch_size, device=device)
164
+ else:
165
+ local_labels = -torch.ones(
166
+ batch_size, batch_size, device=device
167
+ )
168
+
169
+ local_logits = (
170
+ local_logits_per_image + local_logits_per_text
171
+ ) / 2.0
172
+ local_loss = -torch.sum(
173
+ F.logsigmoid(local_labels * local_logits)
174
+ ) / (batch_size * world_size)
175
+
176
+ loss += local_loss
177
+
178
+ torch.distributed.nn.all_reduce(loss)
179
+ torch.cuda.synchronize()
180
+
181
+ if self.training:
182
+ logits = 0
183
+ else:
184
+ t = torch.exp(self.t_prime)
185
+
186
+ all_image_features, all_text_features = gather_features(
187
+ image_features,
188
+ text_features,
189
+ gather_with_grad=True,
190
+ rank=rank,
191
+ world_size=world_size,
192
+ )
193
+
194
+ logits_per_image = (
195
+ all_image_features @ all_text_features.T
196
+ ) * t + self.bias
197
+ logits_per_text = logits_per_image.T
198
+ batch_size = all_image_features.size(0)
199
+
200
+ labels = 2 * torch.eye(
201
+ batch_size, device=image_features.device
202
+ ) - torch.ones(batch_size, device=image_features.device)
203
+
204
+ logits = (logits_per_image + logits_per_text) / 2.0
205
+ loss = -torch.sum(F.logsigmoid(labels * logits)) / batch_size
206
+
207
+ else:
208
+ logits_per_image = (
209
+ image_features @ text_features.T
210
+ ) * self.t_prime + self.bias
211
+ logits_per_text = logits_per_image.T
212
+
213
+ labels = 2 * torch.eye(batch_size, device=device) - torch.ones(
214
+ batch_size, batch_size, device=device
215
+ )
216
+
217
+ logits = (logits_per_image + logits_per_text) / 2.0
218
+ loss = -torch.sum(F.logsigmoid(logits * labels))
219
+ else:
220
+ all_image_features, all_text_features = gather_features(
221
+ image_features,
222
+ text_features,
223
+ local_loss=self.local_loss,
224
+ gather_with_grad=True,
225
+ rank=rank,
226
+ world_size=world_size,
227
+ )
228
+
229
+ if self.gather_loss:
230
+ if self.local_loss:
231
+ logits_per_image = (
232
+ self.logit_scale * image_features @ all_text_features.T
233
+ )
234
+ logits_per_text = (
235
+ self.logit_scale * text_features @ all_image_features.T
236
+ )
237
+ else:
238
+ logits_per_image = (
239
+ self.logit_scale * all_image_features @ all_text_features.T
240
+ )
241
+ logits_per_text = logits_per_image.T
242
+ else:
243
+ logits_per_image = self.logit_scale * image_features @ text_features.T
244
+ logits_per_text = self.logit_scale * text_features @ image_features.T
245
+
246
+ image_loss = F.cross_entropy(logits_per_image, labels)
247
+ text_loss = F.cross_entropy(logits_per_text, labels)
248
+
249
+ loss = (image_loss + text_loss) / 2.0
250
+ logits = ((logits_per_image + logits_per_text) / 2.0,)
251
+
252
+ ret = {
253
+ "loss": loss,
254
+ "logits": logits,
255
+ }
256
+
257
+ return ret
258
+
259
+
260
+ def gather_features(
261
+ image_features,
262
+ text_features,
263
+ local_loss=False,
264
+ gather_with_grad=True,
265
+ rank=0,
266
+ world_size=1,
267
+ ):
268
+ assert (
269
+ has_distributed
270
+ ), "torch.distributed did not import correctly, please use a PyTorch version with support."
271
+
272
+ if not (has_distributed and dist.is_initialized()):
273
+ return image_features, text_features
274
+
275
+ if gather_with_grad:
276
+ all_image_features = torch.cat(
277
+ torch.distributed.nn.all_gather(image_features), dim=0
278
+ )
279
+ all_text_features = torch.cat(
280
+ torch.distributed.nn.all_gather(text_features), dim=0
281
+ )
282
+ else:
283
+ gathered_image_features = [
284
+ torch.zeros_like(image_features) for _ in range(world_size)
285
+ ]
286
+ gathered_text_features = [
287
+ torch.zeros_like(text_features) for _ in range(world_size)
288
+ ]
289
+ dist.all_gather(gathered_image_features, image_features)
290
+ dist.all_gather(gathered_text_features, text_features)
291
+ if not local_loss:
292
+ gathered_image_features[rank] = image_features
293
+ gathered_text_features[rank] = text_features
294
+ all_image_features = torch.cat(gathered_image_features, dim=0)
295
+ all_text_features = torch.cat(gathered_text_features, dim=0)
296
+
297
+ return all_image_features, all_text_features
298
+
299
+
300
+ AutoConfig.register("dec_clip", DEC_CLIPConfig)
301
+ AutoModel.register(DEC_CLIPConfig, DEC_CLIP)
302
+
303
+
304
+ def stem(inp, oup, image_size, downsample=False):
305
+ stride = 1 if downsample == False else 2
306
+ return nn.Sequential(
307
+ nn.Conv3d(inp, oup, 3, stride, 1, bias=False),
308
+ nn.BatchNorm3d(oup),
309
+ nn.GELU(),
310
+ nn.Conv3d(oup, oup, 3, 1, 1, bias=False),
311
+ nn.BatchNorm3d(oup),
312
+ nn.GELU(),
313
+ )
314
+
315
+
316
+ def DecomposedStem(inp, oup, image_size, kernel_size, downsample=False):
317
+ return nn.Sequential(
318
+ DecompConv3D(inp, oup, 7, 4, 1, nn.GELU()),
319
+ DecompConv3D(oup, oup, 3, 1, 1, nn.GELU()),
320
+ DecompConv3D(oup, oup, 3, 1, 1, nn.GELU()),
321
+ DecompConv3D(oup, oup, 3, 1, 1, nn.GELU()),
322
+ )
323
+
324
+
325
+ class DecompConv3D(nn.Module):
326
+ def __init__(
327
+ self, in_dim, out_dim, kernel_size, stride=1, groups=1, norm=True, act=None
328
+ ) -> None:
329
+ super().__init__()
330
+ self.act = act
331
+
332
+ self.c1 = nn.Sequential(
333
+ nn.Conv3d(
334
+ in_dim,
335
+ out_dim,
336
+ kernel_size=(kernel_size, 1, 1),
337
+ padding=(kernel_size // 2, 0, 0),
338
+ stride=stride,
339
+ groups=groups,
340
+ ),
341
+ nn.BatchNorm3d(out_dim) if norm else nn.Identity(),
342
+ )
343
+ self.c2 = nn.Sequential(
344
+ nn.Conv3d(
345
+ in_dim,
346
+ out_dim,
347
+ kernel_size=(1, kernel_size, 1),
348
+ padding=(0, kernel_size // 2, 0),
349
+ stride=stride,
350
+ groups=groups,
351
+ ),
352
+ nn.BatchNorm3d(out_dim) if norm else nn.Identity(),
353
+ )
354
+ self.c3 = nn.Sequential(
355
+ nn.Conv3d(
356
+ in_dim,
357
+ out_dim,
358
+ kernel_size=(1, 1, kernel_size),
359
+ padding=(0, 0, kernel_size // 2),
360
+ stride=stride,
361
+ groups=groups,
362
+ ),
363
+ nn.BatchNorm3d(out_dim) if norm else nn.Identity(),
364
+ )
365
+
366
+ def forward(self, x):
367
+ x = self.c1(x) + self.c2(x) + self.c3(x)
368
+ if self.act is not None:
369
+ x = self.act(x)
370
+ return x
371
+
372
+
373
+ class ConvPosEnc(nn.Module):
374
+
375
+ def __init__(self, dim, k=3, decompose=False):
376
+ super().__init__()
377
+ if decompose:
378
+ self.proj = DecompConv3D(dim, dim, k, groups=dim, norm=None)
379
+ else:
380
+ self.proj = nn.Conv3d(
381
+ dim, dim, to_3tuple(k), to_3tuple(1), to_3tuple(k // 2), groups=dim
382
+ )
383
+
384
+ def forward(self, x, size):
385
+ B, N, C = x.shape
386
+ H, W, T = size
387
+ assert N == H * W * T
388
+ feat = rearrange(x, "b (h w t) c -> b c h w t", h=H, w=W, t=T)
389
+ feat = self.proj(feat)
390
+ feat = rearrange(feat, "b c h w t -> b (h w t) c ")
391
+ x = x + feat
392
+ return x
393
+
394
+
395
+ class MLP(nn.Module):
396
+ def __init__(self, oup, mlp_dim, dp=0.0):
397
+ super().__init__()
398
+
399
+ self.mlp = nn.Sequential(
400
+ nn.Linear(oup, mlp_dim),
401
+ nn.GELU(),
402
+ nn.Dropout(dp),
403
+ nn.Linear(mlp_dim, oup),
404
+ nn.Dropout(dp),
405
+ )
406
+
407
+ def forward(self, x):
408
+ x = self.mlp(x)
409
+ return x
410
+
411
+
412
+ class ScaleDotProduct(nn.Module):
413
+ def __init__(self, scale):
414
+ super().__init__()
415
+ self.scale = scale
416
+ self.softmax = nn.Softmax(dim=-1)
417
+
418
+ def forward(self, qkv):
419
+ q, k, v = qkv[0], qkv[1], qkv[2]
420
+
421
+ q = q * self.scale
422
+ attn = q @ k.transpose(-2, -1)
423
+ attn = self.softmax(attn)
424
+
425
+ x = (attn @ v).transpose(1, 2)
426
+ return x
427
+
428
+
429
+ class DecomposedAttention(nn.Module):
430
+ def __init__(self, oup, head_num):
431
+ super().__init__()
432
+
433
+ self.head_num = head_num
434
+ scale = (oup // head_num) ** (1 / 2)
435
+ self.sdp = ScaleDotProduct(scale)
436
+ self.qkv = nn.Linear(oup, oup * 3, bias=False)
437
+ self.proj = nn.Linear(oup, oup, bias=False)
438
+
439
+ def forward(self, x, size):
440
+ b, n, c = x.shape
441
+ h, w, t = size
442
+ assert n == h * w * t
443
+ B_, N, C = x.shape
444
+ qkv = (
445
+ self.qkv(x)
446
+ .reshape(B_, N, 3, self.head_num, C // self.head_num)
447
+ .permute(2, 0, 3, 1, 4)
448
+ )
449
+
450
+ x = rearrange(qkv, "k b nh (h w t) c -> k b c nh h w t", h=h, w=w, t=t)
451
+
452
+ x1 = rearrange(x, "k b c nh h w t -> k (b t) nh (h w) c")
453
+ x2 = rearrange(x, "k b c nh h w t -> k (b w) nh (h t) c")
454
+ x3 = rearrange(x, "k b c nh h w t -> k (b h) nh (w t) c")
455
+
456
+ x1 = self.sdp(x1)
457
+ x2 = self.sdp(x2)
458
+ x3 = self.sdp(x3)
459
+
460
+ x1 = rearrange(x1, "(b t) (h w) nh c -> b (h w t) (nh c)", h=h, w=w, t=t)
461
+ x2 = rearrange(x2, "(b w) (h t) nh c -> b (h w t) (nh c)", h=h, w=w, t=t)
462
+ x3 = rearrange(x3, "(b h) (w t) nh c -> b (h w t) (nh c)", h=h, w=w, t=t)
463
+ x = self.proj(x1 + x2 + x3)
464
+
465
+ return x
466
+
467
+
468
+ class SelfAttention(nn.Module):
469
+ def __init__(self, oup, head_num):
470
+ super().__init__()
471
+
472
+ self.head_num = head_num
473
+ scale = (oup // head_num) ** (1 / 2)
474
+ self.sdp = ScaleDotProduct(scale)
475
+ self.qkv = nn.Linear(oup, oup * 3, bias=False)
476
+ self.proj = nn.Linear(oup, oup, bias=False)
477
+
478
+ def forward(self, x, size=None):
479
+ B_, N, C = x.shape
480
+ qkv = (
481
+ self.qkv(x)
482
+ .reshape(B_, N, 3, self.head_num, C // self.head_num)
483
+ .permute(2, 0, 3, 1, 4)
484
+ )
485
+
486
+ x = self.sdp(qkv).reshape(B_, N, C)
487
+ x = self.proj(x)
488
+ return x
489
+
490
+
491
+ class ChannelAttention(nn.Module):
492
+ def __init__(self, oup, head_num):
493
+ super().__init__()
494
+
495
+ self.head_num = head_num
496
+ self.scale = (oup // head_num) ** (1 / 2)
497
+ self.softmax = nn.Softmax(dim=-1)
498
+
499
+ self.qkv = nn.Linear(oup, oup * 3, bias=False)
500
+ self.proj = nn.Linear(oup, oup, bias=False)
501
+
502
+ def forward(self, x):
503
+ B, N, C = x.shape
504
+
505
+ qkv = (
506
+ self.qkv(x)
507
+ .reshape(B, N, 3, self.head_num, C // self.head_num)
508
+ .permute(2, 0, 3, 1, 4)
509
+ )
510
+ q, k, v = qkv[0], qkv[1], qkv[2]
511
+
512
+ k = k * self.scale
513
+ attention = k.transpose(-1, -2) @ v
514
+ attention = self.softmax(attention)
515
+ x = (attention @ q.transpose(-1, -2)).transpose(-1, -2)
516
+ x = x.transpose(1, 2).reshape(B, N, C)
517
+ x = self.proj(x)
518
+ return x
519
+
520
+
521
+ class ChannelBlock(nn.Module):
522
+ def __init__(self, dim, heads=8):
523
+ super().__init__()
524
+ hidden_dim = int(dim * 4)
525
+
526
+ self.cpe = nn.ModuleList(
527
+ [
528
+ ConvPosEnc(dim=dim, k=3, decompose=True),
529
+ ConvPosEnc(dim=dim, k=3, decompose=True),
530
+ ]
531
+ )
532
+
533
+ self.attn = ChannelAttention(dim, heads)
534
+
535
+ self.layer_norm1 = nn.LayerNorm(dim)
536
+
537
+ self.mlp1 = MLP(dim, hidden_dim)
538
+ self.layer_norm2 = nn.LayerNorm(dim)
539
+
540
+ def forward(self, x, size):
541
+ x = self.cpe[0](x, size)
542
+ _x = self.layer_norm1(x)
543
+
544
+ _x = self.attn(_x)
545
+ x = x + _x
546
+
547
+ x = self.cpe[1](x, size)
548
+ _x = self.layer_norm2(x)
549
+ _x = self.mlp1(_x)
550
+ x = x + _x
551
+ return x
552
+
553
+
554
+ class SpatialBlock(nn.Module):
555
+ def __init__(self, dim, heads=8):
556
+ super().__init__()
557
+ hidden_dim = int(dim * 4)
558
+
559
+ self.cpe = nn.ModuleList(
560
+ [
561
+ ConvPosEnc(dim=dim, k=3, decompose=True),
562
+ ConvPosEnc(dim=dim, k=3, decompose=True),
563
+ ]
564
+ )
565
+
566
+ # self.attn = DecomposedAttention(dim, heads)
567
+ self.attn = SelfAttention(dim, heads)
568
+
569
+ self.layer_norm1 = nn.LayerNorm(dim)
570
+
571
+ self.mlp1 = MLP(dim, hidden_dim)
572
+ self.layer_norm2 = nn.LayerNorm(dim)
573
+
574
+ def forward(self, x, size):
575
+ x = self.cpe[0](x, size)
576
+ _x = self.layer_norm1(x)
577
+
578
+ _x = self.attn(_x, size)
579
+ x = x + _x
580
+
581
+ x = self.cpe[1](x, size)
582
+ _x = self.layer_norm2(x)
583
+ _x = self.mlp1(_x)
584
+ x = x + _x
585
+ return x
586
+
587
+
588
+ class TransformerBlock(nn.Module):
589
+ def __init__(
590
+ self,
591
+ inp,
592
+ oup,
593
+ image_size,
594
+ kernel_size,
595
+ heads=8,
596
+ dim_head=32,
597
+ downsample=False,
598
+ dropout=0.0,
599
+ ):
600
+ super().__init__()
601
+ hidden_dim = int(inp * 4)
602
+
603
+ self.ih, self.iw, self.it = image_size
604
+ self.downsample = downsample
605
+
606
+ if self.downsample:
607
+ self.pool1 = nn.MaxPool3d(3, 2, 1)
608
+ # self.pool2 = nn.MaxPool3d(3, 2, 1)
609
+ self.proj = nn.Conv3d(inp, oup, 1, 1, 0, bias=False)
610
+
611
+ self.spatial_attention = SpatialBlock(oup, heads)
612
+ # self.channel_attention = ChannelBlock(oup, heads)
613
+
614
+ def forward(self, x):
615
+ if self.downsample:
616
+ x = self.proj(self.pool1(x))
617
+ # if self.downsample:
618
+ # x = self.proj(self.pool1(x)) + self.attn(self.pool2(x))
619
+
620
+ # x = x.permute(0, 2, 3, 4, 1)
621
+ h, w, t = x.shape[2], x.shape[3], x.shape[4]
622
+ size = (h, w, t)
623
+ x = rearrange(x, "b c h w t -> b (h w t) c ")
624
+
625
+ x = self.spatial_attention(x, size)
626
+ # x = self.channel_attention(x, size)
627
+
628
+ x = rearrange(x, "b (h w t) c -> b c h w t", h=h, w=w, t=t)
629
+
630
+ return x
631
+
632
+
633
+ class ConvBlock(nn.Module):
634
+ def __init__(
635
+ self, inp, oup, image_size, kernel_size=7, downsample=False, expansion=4
636
+ ):
637
+ super().__init__()
638
+ self.downsample = downsample
639
+ stride = 1 if self.downsample == False else 2
640
+ hidden_dim = int(oup * expansion)
641
+ drop_path = 0.0
642
+ layer_scale_init_value = 1e-6
643
+ if self.downsample:
644
+ self.pool = nn.MaxPool3d(3, 2, 1)
645
+ self.proj = nn.Conv3d(inp, oup, 1, 1, 0, bias=False)
646
+
647
+ # self.dwconv = nn.Sequential(nn.Conv3d(oup, oup, kernel_size=7, padding=3, groups=oup), nn.BatchNorm3d(oup)) # depthwise conv
648
+ self.dwconv = DecompConv3D(oup, oup, kernel_size, groups=oup)
649
+ self.mlp = MLP(oup, hidden_dim)
650
+
651
+ self.gamma = (
652
+ nn.Parameter(layer_scale_init_value * torch.ones((oup)), requires_grad=True)
653
+ if layer_scale_init_value > 0
654
+ else None
655
+ )
656
+ self.drop_path = DropPath(drop_path) if drop_path > 0.0 else nn.Identity()
657
+
658
+ def forward(self, x):
659
+ if self.downsample:
660
+ x = self.proj(self.pool(x))
661
+ input = x
662
+ x = self.dwconv(x)
663
+ x = x.permute(0, 2, 3, 4, 1) # (N, C, H, W, T) -> (N, H, W, T, C)
664
+
665
+ x = self.mlp(x)
666
+
667
+ if self.gamma is not None:
668
+ x = self.gamma * x
669
+ x = x.permute(0, 4, 1, 2, 3) # (N, H, W, C) -> (N, C, H, W)
670
+
671
+ x = input + self.drop_path(x)
672
+ return x
673
+
674
+
675
+ class Encoder(nn.Module):
676
+ def __init__(
677
+ self,
678
+ input_size,
679
+ in_channels,
680
+ num_blocks,
681
+ channels,
682
+ kernel_sizes=[7, 7, 7, 7],
683
+ block_types=["C", "C", "C", "C"],
684
+ ):
685
+ super().__init__()
686
+ self.dims = channels
687
+ ih, iw, it = input_size
688
+ block = {"C": ConvBlock, "T": TransformerBlock}
689
+ i = 4
690
+ self.s0 = self._make_layer(
691
+ DecomposedStem,
692
+ in_channels,
693
+ channels[0],
694
+ num_blocks[0],
695
+ kernel_sizes[0],
696
+ (ih // i, iw // i, it // i),
697
+ )
698
+ self.s1 = self._make_layer(
699
+ block[block_types[0]],
700
+ channels[0],
701
+ channels[1],
702
+ num_blocks[1],
703
+ kernel_sizes[0],
704
+ (ih // (i * 2**1), iw // (i * 2**1), it // (i * 2**1)),
705
+ )
706
+ self.s2 = self._make_layer(
707
+ block[block_types[1]],
708
+ channels[1],
709
+ channels[2],
710
+ num_blocks[2],
711
+ kernel_sizes[1],
712
+ (ih // (i * 2**2), iw // (i * 2**2), it // (i * 2**2)),
713
+ )
714
+ self.s3 = self._make_layer(
715
+ block[block_types[2]],
716
+ channels[2],
717
+ channels[3],
718
+ num_blocks[3],
719
+ kernel_sizes[2],
720
+ (ih // (i * 2**3), iw // (i * 2**3), it // (i * 2**3)),
721
+ )
722
+ self.s4 = self._make_layer(
723
+ block[block_types[3]],
724
+ channels[3],
725
+ channels[4],
726
+ num_blocks[4],
727
+ kernel_sizes[3],
728
+ (ih // (i * 2**4), iw // (i * 2**4), it // (i * 2**4)),
729
+ )
730
+
731
+ def forward(self, x):
732
+ hidden_states = []
733
+
734
+ x = x.permute(0, 1, 3, 4, 2)
735
+
736
+ for i in range(5):
737
+ if hasattr(self, "s" + str(i)):
738
+ x = getattr(self, "s" + str(i))(x)
739
+ hidden_states.append(x)
740
+
741
+ return hidden_states
742
+
743
+ def _make_layer(self, block, inp, oup, depth, kernel_size, image_size):
744
+ layers = nn.ModuleList([])
745
+ for i in range(depth):
746
+ if i == 0:
747
+ layers.append(block(inp, oup, image_size, kernel_size, downsample=True))
748
+ else:
749
+ layers.append(block(oup, oup, image_size, kernel_size))
750
+ return nn.Sequential(*layers)
751
+
752
+
753
+ class DecompModel(nn.Module):
754
+ def __init__(
755
+ self,
756
+ input_size=(512, 512, 256),
757
+ in_channels=1,
758
+ num_blocks=[2, 2, 3, 5, 2],
759
+ channels=[64, 96, 192, 384, 768],
760
+ # kernel_sizes=[7, 7, 7, 7],
761
+ kernel_sizes=[13, 11, 9, 7],
762
+ block_types=["C", "C", "C", "C"],
763
+ codebook_size=8192,
764
+ ):
765
+ super().__init__()
766
+ self.channels = channels
767
+ self.encoder = Encoder(
768
+ input_size, in_channels, num_blocks, channels, kernel_sizes, block_types
769
+ )
770
+ # self.vq = VectorQuantize(dim = channels[-1], codebook_size = codebook_size, use_cosine_sim = True)
771
+
772
+ def forward(self, video, mask=None, device="cuda"):
773
+ hidden_states = self.encoder(video)
774
+ # tokens = rearrange(tokens, "b d h w t -> b t h w d")
775
+ # shape = tokens.shape
776
+ # *_, h, w, _ = shape
777
+ # quantize
778
+
779
+ # tokens, _ = pack([tokens], "b * d")
780
+
781
+ for i in range(len(hidden_states)):
782
+ hidden_states[i] = rearrange(hidden_states[i], "b d h w t -> b t h w d")
783
+ hidden_states[i], _ = pack([hidden_states[i]], "b * d")
784
+
785
+ # vq_mask = None
786
+
787
+ # tokens, _, _ = self.vq(tokens, mask = vq_mask)
788
+
789
+ # tokens = rearrange(tokens, 'b (t h w) d -> b t h w d', h = h, w = w)
790
+
791
+ return hidden_states
792
+
793
+
794
+ def decomp_nano(
795
+ input_size=(512, 512, 256),
796
+ # input_size=(256, 256, 128),
797
+ ):
798
+
799
+ model = DecompModel(
800
+ input_size=input_size,
801
+ num_blocks=[1, 1, 1, 1, 1],
802
+ channels=[32, 32, 64, 128, 256],
803
+ )
804
+ return model
805
+
806
+
807
+ def decomp_naive(
808
+ input_size=(512, 512, 256),
809
+ # input_size=(256, 256, 128),
810
+ ):
811
+
812
+ model = DecompModel(
813
+ input_size=input_size,
814
+ num_blocks=[1, 2, 2, 2, 2],
815
+ # channels = [64, 64, 128, 256, 512]
816
+ channels=[32, 64, 128, 256, 512],
817
+ )
818
+ return model
819
+
820
+
821
+ def decomp_tiny(
822
+ input_size=(512, 512, 256),
823
+ ):
824
+
825
+ model = DecompModel(
826
+ input_size=input_size,
827
+ num_blocks=[1, 2, 3, 3, 2],
828
+ # channels = [64, 64, 128, 256, 512]
829
+ channels=[64, 96, 192, 384, 768],
830
+ )
831
+ return model
832
+
833
+
834
+ def decomp_small(
835
+ input_size=(512, 512, 256),
836
+ ):
837
+
838
+ model = DecompModel(
839
+ input_size=input_size,
840
+ num_blocks=[1, 2, 3, 6, 2],
841
+ channels=[64, 96, 192, 384, 768],
842
+ )
843
+ return model
844
+
845
+
846
+ def decomp_base(
847
+ input_size=(512, 512, 256),
848
+ ):
849
+
850
+ model = DecompModel(
851
+ input_size=input_size,
852
+ num_blocks=[1, 2, 6, 6, 2],
853
+ channels=[64, 128, 256, 512, 1024],
854
+ )
855
+ return model
856
+
857
+
858
+ def decomp_large(
859
+ input_size=(512, 512, 256),
860
+ ):
861
+
862
+ model = DecompModel(
863
+ input_size=input_size,
864
+ num_blocks=[1, 2, 6, 12, 2],
865
+ # channels=[64, 192, 384, 768, 1536],
866
+ channels=[64, 256, 512, 1024, 2048],
867
+ )
868
+ return model
869
+
870
+
871
+ class FeedForward(nn.Module):
872
+ def __init__(self, dim, hidden_dim, dropout=0.0):
873
+ super().__init__()
874
+ self.net = nn.Sequential(
875
+ nn.LayerNorm(dim),
876
+ nn.Linear(dim, hidden_dim),
877
+ nn.GELU(),
878
+ nn.Dropout(dropout),
879
+ nn.Linear(hidden_dim, dim),
880
+ nn.Dropout(dropout),
881
+ )
882
+
883
+ def forward(self, x):
884
+ return self.net(x)
885
+
886
+
887
+ class Attention(nn.Module):
888
+ def __init__(self, dim, heads=8, dim_head=64, dropout=0.0):
889
+ super().__init__()
890
+ inner_dim = dim_head * heads
891
+ project_out = not (heads == 1 and dim_head == dim)
892
+
893
+ self.heads = heads
894
+ self.scale = dim_head**-0.5
895
+
896
+ self.norm = nn.LayerNorm(dim)
897
+ self.attend = nn.Softmax(dim=-1)
898
+ self.dropout = nn.Dropout(dropout)
899
+
900
+ self.to_qkv = nn.Linear(dim, inner_dim * 3, bias=False)
901
+
902
+ self.to_out = (
903
+ nn.Sequential(nn.Linear(inner_dim, dim), nn.Dropout(dropout))
904
+ if project_out
905
+ else nn.Identity()
906
+ )
907
+
908
+ def forward(self, x):
909
+ x = self.norm(x)
910
+ qkv = self.to_qkv(x).chunk(3, dim=-1)
911
+ q, k, v = map(lambda t: rearrange(t, "b n (h d) -> b h n d", h=self.heads), qkv)
912
+
913
+ dots = torch.matmul(q, k.transpose(-1, -2)) * self.scale
914
+
915
+ attn = self.attend(dots)
916
+ attn = self.dropout(attn)
917
+
918
+ out = torch.matmul(attn, v)
919
+ out = rearrange(out, "b h n d -> b n (h d)")
920
+ return self.to_out(out)
921
+
922
+
923
+ class Transformer(nn.Module):
924
+ def __init__(self, dim, depth, heads, dim_head, mlp_dim, dropout=0.0):
925
+ super().__init__()
926
+ self.layers = nn.ModuleList([])
927
+ for _ in range(depth):
928
+ self.layers.append(
929
+ nn.ModuleList(
930
+ [
931
+ Attention(dim, heads=heads, dim_head=dim_head, dropout=dropout),
932
+ FeedForward(dim, mlp_dim, dropout=dropout),
933
+ ]
934
+ )
935
+ )
936
+
937
+ def forward(self, x):
938
+ for attn, ff in self.layers:
939
+ x = attn(x) + x
940
+ x = ff(x) + x
941
+ return x
942
+
943
+
944
+ class ViTEncoder(nn.Module):
945
+ def __init__(
946
+ self,
947
+ image_size=[512, 512, 256],
948
+ patch_size=16,
949
+ dim=512,
950
+ depth=8,
951
+ heads=8,
952
+ mlp_dim=4,
953
+ channels=1,
954
+ dim_head=64,
955
+ dropout=0.0,
956
+ emb_dropout=0.0,
957
+ ):
958
+ super().__init__()
959
+ h, w, t = image_size[0], image_size[1], image_size[2]
960
+
961
+ self.vit_img_dim = [i // patch_size for i in image_size]
962
+ num_patches = (h // patch_size) * (w // patch_size) * (t // patch_size)
963
+
964
+ patch_dim = channels * patch_size * patch_size * patch_size
965
+
966
+ self.to_patch_embedding = nn.Sequential(
967
+ Rearrange(
968
+ "b c (h p1) (w p2) (t p3) -> b (h w t) (p1 p2 p3 c)",
969
+ p1=patch_size,
970
+ p2=patch_size,
971
+ p3=patch_size,
972
+ ),
973
+ nn.LayerNorm(patch_dim),
974
+ nn.Linear(patch_dim, dim),
975
+ nn.LayerNorm(dim),
976
+ )
977
+
978
+ self.pos_embedding = nn.Parameter(torch.randn(1, num_patches + 1, dim))
979
+ self.cls_token = nn.Parameter(torch.randn(1, 1, dim))
980
+ self.dropout = nn.Dropout(emb_dropout)
981
+
982
+ self.transformer = Transformer(dim, depth, heads, dim_head, mlp_dim, dropout)
983
+
984
+ def forward(self, x):
985
+ x = x.permute(0, 1, 3, 4, 2)
986
+
987
+ x = self.to_patch_embedding(x)
988
+ b, n, _ = x.shape
989
+
990
+ cls_tokens = repeat(self.cls_token, "1 1 d -> b 1 d", b=b)
991
+ x = torch.cat((cls_tokens, x), dim=1)
992
+ x += self.pos_embedding[:, : (n + 1)]
993
+ x = self.dropout(x)
994
+
995
+ x = self.transformer(x)
996
+ x = x[:, 1:, :]
997
+ x = rearrange(
998
+ x,
999
+ "b (x y z) c -> b c x y z",
1000
+ x=self.vit_img_dim[0],
1001
+ y=self.vit_img_dim[1],
1002
+ z=self.vit_img_dim[2],
1003
+ )
1004
+
1005
+ return x
1006
+
1007
+
1008
+ class Vit3D(nn.Module):
1009
+ def __init__(self, input_size=[512, 512, 256], patch_size=32, dim=512, depth=8):
1010
+ super().__init__()
1011
+
1012
+ self.encoder = ViTEncoder(input_size, patch_size, dim, depth)
1013
+
1014
+ # self.vq = VectorQuantize(dim = dim, codebook_size = 8192, use_cosine_sim = True)
1015
+
1016
+ def forward(self, video, mask=None, device="cuda"):
1017
+ tokens = self.encoder(video)
1018
+ tokens = rearrange(tokens, "b d h w t -> b t h w d")
1019
+ shape = tokens.shape
1020
+ *_, h, w, _ = shape
1021
+ # quantize
1022
+ tokens, _ = pack([tokens], "b * d")
1023
+ # vq_mask = None
1024
+ # tokens, _, _ = self.vq(tokens, mask = vq_mask)
1025
+ # tokens = rearrange(tokens, 'b (t h w) d -> b t h w d', h = h, w = w)
1026
+
1027
+ return tokens
1028
+
1029
+
1030
+ def build_vision_tower(config, **kwargs):
1031
+ return VisionTower(config)
1032
+
1033
+
1034
+ class VisionTower(nn.Module):
1035
+ def __init__(self, config):
1036
+ super().__init__()
1037
+
1038
+ self.config = config
1039
+ self.select_layer = config.vision_select_layer
1040
+ self.select_feature = config.vision_select_feature
1041
+ self.hidden_size = config.dim
1042
+
1043
+ if config.vision_tower == "vit3d":
1044
+ self.vision_tower = Vit3D(
1045
+ input_size=config.input_size,
1046
+ dim=config.dim,
1047
+ depth=config.depth,
1048
+ )
1049
+ elif config.vision_tower == "dcformer":
1050
+ self.vision_tower = decomp_small(
1051
+ input_size=config.input_size,
1052
+ )
1053
+ self.low_input_size = self.vision_tower.channels[-2]
1054
+ self.high_input_size = self.vision_tower.channels[-1]
1055
+ else:
1056
+ raise ValueError(f"Unexpected vision tower: {config.vision_tower}")
1057
+
1058
+ def forward(self, images):
1059
+ hidden_states = self.vision_tower(images)
1060
+ if self.select_layer == 0:
1061
+ image_features = hidden_states
1062
+ elif self.select_layer < 0:
1063
+ image_features = hidden_states[self.select_layer :]
1064
+ else:
1065
+ raise ValueError(f"Unexpected select layer: {self.select_layer}")
1066
+
1067
+ if self.select_feature == "patch":
1068
+ image_features = image_features[:, 1:]
1069
+ elif self.select_feature == "cls_patch":
1070
+ image_features = image_features
1071
+ else:
1072
+ raise ValueError(f"Unexpected select feature: {self.select_feature}")
1073
+
1074
+ return image_features
1075
+
1076
+ @property
1077
+ def dtype(self):
1078
+ return self.vision_tower.dtype
1079
+
1080
+ @property
1081
+ def device(self):
1082
+ return self.vision_tower.device
1083
+
1084
+
1085
+ def readable_params(num):
1086
+ magnitude = 0
1087
+ while abs(num) >= 1000:
1088
+ magnitude += 1
1089
+ num /= 1000.0
1090
+ return "%.2f%s" % (num, ["", "K", "M", "G", "T", "P"][magnitude])
1091
+
1092
+
1093
+ class MLPLayer(nn.Module):
1094
+ def __init__(self, embed_dim, scale=4, *args, **kwargs):
1095
+ super().__init__(*args, **kwargs)
1096
+ self.linear1 = nn.Linear(embed_dim, embed_dim * scale)
1097
+ self.linear2 = nn.Linear(embed_dim * scale, embed_dim)
1098
+ self.act = nn.GELU()
1099
+
1100
+ def forward(self, x):
1101
+ x = self.linear1(x)
1102
+ x = self.act(x)
1103
+ x = self.linear2(x)
1104
+ return x
1105
+
1106
+
1107
+ class MultiHeadSelfAttention(nn.Module):
1108
+ def __init__(
1109
+ self,
1110
+ embed_dim,
1111
+ output_dim,
1112
+ num_heads=8,
1113
+ proj_out_num=32,
1114
+ ):
1115
+ super(MultiHeadSelfAttention, self).__init__()
1116
+ self.embed_dim = embed_dim
1117
+ self.num_heads = num_heads
1118
+ self.head_dim = embed_dim // num_heads
1119
+ self.proj_out_num = proj_out_num
1120
+ self.mlp = MLPLayer(embed_dim)
1121
+
1122
+ assert (
1123
+ self.head_dim * num_heads == embed_dim
1124
+ ), "embed_dim must be divisible by num_heads"
1125
+
1126
+ self.norm1 = nn.LayerNorm(embed_dim)
1127
+
1128
+ self.q_proj = nn.Linear(embed_dim, embed_dim)
1129
+ self.k_proj = nn.Linear(embed_dim, embed_dim)
1130
+ self.v_proj = nn.Linear(embed_dim, embed_dim)
1131
+
1132
+ self.out_proj = nn.Linear(embed_dim, embed_dim)
1133
+
1134
+ self.norm2 = nn.LayerNorm(embed_dim)
1135
+ self.act = nn.GELU()
1136
+ self.out_layer = nn.Linear(embed_dim, output_dim)
1137
+
1138
+ self.scale = math.sqrt(self.head_dim)
1139
+
1140
+ def forward(self, x):
1141
+ batch_size, seq_len, _ = x.size()
1142
+
1143
+ x = self.norm1(x)
1144
+
1145
+ q = (
1146
+ self.q_proj(x)
1147
+ .reshape(batch_size, seq_len, self.num_heads, self.head_dim)
1148
+ .transpose(1, 2)
1149
+ )
1150
+ k = (
1151
+ self.k_proj(x)
1152
+ .reshape(batch_size, seq_len, self.num_heads, self.head_dim)
1153
+ .transpose(1, 2)
1154
+ )
1155
+ v = (
1156
+ self.v_proj(x)
1157
+ .reshape(batch_size, seq_len, self.num_heads, self.head_dim)
1158
+ .transpose(1, 2)
1159
+ )
1160
+
1161
+ attn_weights = torch.matmul(q, k.transpose(-2, -1)) / self.scale
1162
+
1163
+ attn_weights = F.softmax(attn_weights, dim=-1)
1164
+
1165
+ attn_output = torch.matmul(attn_weights, v)
1166
+
1167
+ attn_output = attn_output.transpose(1, 2).reshape(
1168
+ batch_size, seq_len, self.embed_dim
1169
+ )
1170
+ output = self.out_proj(attn_output)
1171
+
1172
+ output = self.norm2(output)
1173
+
1174
+ output = self.mlp(output)
1175
+
1176
+ output = self.act(output)
1177
+ output = self.out_layer(output)
1178
+
1179
+ return output
1180
+
1181
+
1182
+ class MultiLayerPerceptron(nn.Module):
1183
+ def __init__(self, hidden_size, depth):
1184
+ super().__init__()
1185
+ self.mlp = nn.Sequential(
1186
+ nn.Linear(hidden_size, hidden_size),
1187
+ *[
1188
+ nn.Sequential(nn.GELU(), nn.Linear(hidden_size, hidden_size))
1189
+ for _ in range(depth - 1)
1190
+ ],
1191
+ )
1192
+
1193
+ def forward(self, x):
1194
+ return self.mlp(x)
1195
+
1196
+
1197
+ class MultiModalProjector(nn.Module):
1198
+ def __init__(self, input_size, output_size, mlp_depth, proj_out_num=256):
1199
+ super().__init__()
1200
+ self.proj_out_num = proj_out_num
1201
+ self.mm_projector = nn.Sequential(
1202
+ nn.Linear(input_size, output_size),
1203
+ *[
1204
+ nn.Sequential(
1205
+ nn.GELU(),
1206
+ nn.Linear(output_size, output_size),
1207
+ )
1208
+ for _ in range(mlp_depth - 1)
1209
+ ],
1210
+ )
1211
+
1212
+ def forward(self, x):
1213
+ return self.mm_projector(x)
1214
+
1215
+
1216
+ class LowHighHybridMLP(nn.Module):
1217
+ def __init__(
1218
+ self, low_input_size, high_input_size, output_size, mlp_depth, proj_out_num=288
1219
+ ):
1220
+ super().__init__()
1221
+ self.proj_out_num = proj_out_num
1222
+ self.low_up_mlp = nn.Linear(low_input_size, output_size)
1223
+ self.high_up_mlp = nn.Linear(high_input_size, output_size)
1224
+ modules = []
1225
+ for _ in range(1, mlp_depth):
1226
+ modules.append(nn.GELU())
1227
+ modules.append(nn.Linear(output_size, output_size))
1228
+ self.mm_projector = nn.Sequential(*modules)
1229
+
1230
+ def forward(self, x):
1231
+ low_x, high_x = x
1232
+
1233
+ low_x = self.low_up_mlp(low_x)
1234
+ high_x = self.high_up_mlp(high_x)
1235
+ x = torch.cat([low_x, high_x], dim=1)
1236
+
1237
+ x = self.mm_projector(x)
1238
+
1239
+ return x
1240
+
1241
+
1242
+ class MixerLayer(nn.Module):
1243
+ def __init__(self, input_size, output_size, mlp_depth=2):
1244
+ super().__init__()
1245
+ self.ln1 = nn.LayerNorm(input_size[1])
1246
+ self.ln2 = nn.LayerNorm(input_size[1])
1247
+
1248
+ self.mlp1 = MultiModalProjector(
1249
+ input_size=input_size[0], output_size=output_size[0], mlp_depth=mlp_depth
1250
+ )
1251
+ self.mlp2 = MultiModalProjector(
1252
+ input_size=input_size[1], output_size=output_size[1], mlp_depth=mlp_depth
1253
+ )
1254
+
1255
+ def forward(self, x):
1256
+ x = self.ln1(x)
1257
+ x = rearrange(x, "b n d -> b d n")
1258
+ x = self.mlp1(x)
1259
+ x = rearrange(x, "b d n -> b n d")
1260
+ x = self.ln2(x)
1261
+ x = self.mlp2(x)
1262
+
1263
+ return x
1264
+
1265
+
1266
+ class MixerLowHighHybridMLP(nn.Module):
1267
+ def __init__(
1268
+ self,
1269
+ low_input_size: tuple = (256, 384),
1270
+ low_output_size: list = [192, 128],
1271
+ high_input_size: tuple = (32, 768),
1272
+ high_output_size: list = [64, 128],
1273
+ output_dim=3584,
1274
+ depth=2,
1275
+ mlp_depth=2,
1276
+ proj_out_num=256,
1277
+ ):
1278
+ assert (
1279
+ len(low_output_size) == len(high_output_size) == depth
1280
+ ), "Output size must be same for both low and high input"
1281
+ assert output_dim % (2**depth) == 0, "Output dim must be divisible by 2**depth"
1282
+
1283
+ super().__init__()
1284
+
1285
+ self.proj_out_num = proj_out_num
1286
+
1287
+ self.low_mixer = nn.ModuleList(
1288
+ [
1289
+ MixerLayer(
1290
+ input_size=(
1291
+ (low_output_size[i - 1], output_dim // (2 ** (depth - i)))
1292
+ if i > 0
1293
+ else low_input_size
1294
+ ),
1295
+ output_size=(
1296
+ low_output_size[i],
1297
+ output_dim // (2 ** (depth - i - 1)),
1298
+ ),
1299
+ mlp_depth=mlp_depth,
1300
+ )
1301
+ for i in range(depth)
1302
+ ]
1303
+ )
1304
+ self.high_mixer = nn.ModuleList(
1305
+ [
1306
+ MixerLayer(
1307
+ input_size=(
1308
+ (high_output_size[i - 1], output_dim // (2 ** (depth - i)))
1309
+ if i > 0
1310
+ else high_input_size
1311
+ ),
1312
+ output_size=(
1313
+ high_output_size[i],
1314
+ output_dim // (2 ** (depth - i - 1)),
1315
+ ),
1316
+ mlp_depth=mlp_depth,
1317
+ )
1318
+ for i in range(depth)
1319
+ ]
1320
+ )
1321
+
1322
+ def forward(self, x):
1323
+ low_x, high_x = x
1324
+ for low_layer, high_layer in zip(self.low_mixer, self.high_mixer):
1325
+ low_x = low_layer(low_x)
1326
+ high_x = high_layer(high_x)
1327
+ x = torch.cat([low_x, high_x], dim=1)
1328
+
1329
+ return x
1330
+
1331
+
1332
+ class IdentityMap(nn.Module):
1333
+ def __init__(self):
1334
+ super().__init__()
1335
+
1336
+ def forward(self, x, *args, **kwargs):
1337
+ return x
1338
+
1339
+ @property
1340
+ def config(self):
1341
+ return {"mm_projector_type": "identity"}
1342
+
1343
+
1344
+ def build_mm_projector(config, delay_load=False, **kwargs):
1345
+ projector_type = getattr(config, "mm_projector_type", "linear")
1346
+
1347
+ if projector_type == "linear":
1348
+ return nn.Linear(config.mm_hidden_size, config.hidden_size)
1349
+ elif projector_type == "mlp":
1350
+ return MultiModalProjector(
1351
+ input_size=config.mm_hidden_size,
1352
+ output_size=config.hidden_size,
1353
+ mlp_depth=config.mm_mlp_depth,
1354
+ proj_out_num=config.proj_out_num,
1355
+ )
1356
+ elif projector_type == "low_high_mlp":
1357
+ return LowHighHybridMLP(
1358
+ low_input_size=config.low_input_size,
1359
+ high_input_size=config.high_input_size,
1360
+ output_size=config.hidden_size,
1361
+ mlp_depth=config.mm_mlp_depth,
1362
+ proj_out_num=config.proj_out_num,
1363
+ )
1364
+ elif projector_type == "mixer":
1365
+ return MixerLowHighHybridMLP(
1366
+ low_input_size=config.low_input_size,
1367
+ low_output_size=config.low_output_size,
1368
+ high_input_size=config.high_input_size,
1369
+ high_output_size=config.high_output_size,
1370
+ output_dim=config.hidden_size,
1371
+ depth=len(config.low_output_size),
1372
+ mlp_depth=config.mm_mlp_depth,
1373
+ proj_out_num=config.proj_out_num,
1374
+ )
1375
+ elif projector_type == "mhsa":
1376
+ return MultiHeadSelfAttention(
1377
+ embed_dim=config.mm_hidden_size,
1378
+ output_dim=config.hidden_size,
1379
+ num_heads=hasattr(config, "num_heads") and config.num_heads or 8,
1380
+ proj_out_num=config.proj_out_num,
1381
+ )
1382
+ elif projector_type == "identity":
1383
+ return IdentityMap()
1384
+ else:
1385
+ raise ValueError(f"Unknown projector type: {projector_type}")
1386
+
1387
+
1388
+ class VLMMetaModel:
1389
+
1390
+ def __init__(self, config):
1391
+ super(VLMMetaModel, self).__init__(config)
1392
+
1393
+ if hasattr(config, "vision_tower"):
1394
+ self.vision_tower = build_vision_tower(config, delay_load=True)
1395
+ self.mm_projector = build_mm_projector(config)
1396
+
1397
+ def get_vision_tower(self):
1398
+ vision_tower = getattr(self, "vision_tower", None)
1399
+ if type(vision_tower) is list:
1400
+ vision_tower = vision_tower[0]
1401
+ return vision_tower
1402
+
1403
+ def initialize_vision_modules(self, model_args):
1404
+ self.config.input_size = model_args.input_size
1405
+ self.config.patch_size = model_args.patch_size
1406
+ self.config.dim = model_args.dim
1407
+ self.config.depth = model_args.depth
1408
+
1409
+ self.config.vision_tower = model_args.vision_tower
1410
+ self.config.vision_select_layer = model_args.vision_select_layer
1411
+ self.config.vision_select_feature = model_args.vision_select_feature
1412
+
1413
+ self.config.mm_projector_type = model_args.mm_projector_type
1414
+ self.config.mm_mlp_depth = model_args.mm_mlp_depth
1415
+ self.config.proj_out_num = model_args.proj_out_num
1416
+
1417
+ # vision tower
1418
+ if self.get_vision_tower() is None:
1419
+ self.vision_tower = build_vision_tower(self.config)
1420
+ self.vision_tower.requires_grad_(not model_args.freeze_vision_tower)
1421
+
1422
+ if self.config.vision_tower == "hybrid":
1423
+ self.config.low_input_size = self.vision_tower.low_input_size
1424
+ self.config.high_input_size = self.vision_tower.high_input_size
1425
+ elif self.config.mm_projector_type == "mixer":
1426
+ self.config.low_output_size = model_args.low_output_size
1427
+ self.config.high_output_size = model_args.high_output_size
1428
+ self.config.low_input_size = (256, 384)
1429
+ self.config.high_input_size = (32, 768)
1430
+
1431
+ if model_args.pretrain_vision_model is not None:
1432
+ vision_model_weights = torch.load(
1433
+ model_args.pretrain_vision_model, map_location="cpu"
1434
+ )
1435
+ self.vision_tower.vision_tower.load_state_dict(
1436
+ vision_model_weights, strict=True
1437
+ )
1438
+
1439
+ if model_args.pretrain_clip_model is not None:
1440
+ clip_model = AutoModel.from_pretrained(model_args.pretrain_clip_model)
1441
+ self.vision_tower.vision_tower = clip_model.vision_encoder
1442
+
1443
+ self.config.mm_hidden_size = self.vision_tower.hidden_size
1444
+
1445
+ # mm_projector
1446
+ if getattr(self, "mm_projector", None) is None:
1447
+ self.mm_projector = build_mm_projector(self.config)
1448
+
1449
+ if model_args.pretrain_mm_mlp_adapter is not None:
1450
+ mm_projector_weights = torch.load(
1451
+ model_args.pretrain_mm_mlp_adapter, map_location="cpu"
1452
+ )
1453
+
1454
+ if self.config.mm_projector_type == "mlp":
1455
+
1456
+ def get_w(weights, keyword):
1457
+ return {
1458
+ f"{keyword}.{k.split(keyword + ".")[2]}": v
1459
+ for k, v in weights.items()
1460
+ if keyword in k
1461
+ }
1462
+
1463
+ elif self.config.mm_projector_type == "low_high_mlp":
1464
+
1465
+ def get_w(weights, keyword):
1466
+ result = {}
1467
+ for k, v in weights.items():
1468
+ if keyword in k:
1469
+ if f"{keyword}.{keyword}" in k:
1470
+ part = k.split(f"{keyword}.{keyword}.")[1]
1471
+ result[f"mm_projector.{part}"] = v
1472
+ elif f"{keyword}." in k:
1473
+ part = k.split(f"{keyword}.")[1]
1474
+ result[part] = v
1475
+ return result
1476
+
1477
+ elif self.config.mm_projector_type == "mixer":
1478
+
1479
+ def get_w(weights, keyword):
1480
+ result = {}
1481
+ for k, v in weights.items():
1482
+ if keyword in k:
1483
+ new_key = k.split(".")
1484
+ if len(new_key) > 2:
1485
+ new_key = ".".join(new_key[2:])
1486
+ result[new_key] = v
1487
+ return result
1488
+
1489
+ else:
1490
+
1491
+ def get_w(weights, keyword):
1492
+ result = {}
1493
+ for k, v in weights.items():
1494
+ if keyword in k:
1495
+ new_key = k.split(".")
1496
+ if len(new_key) > 2:
1497
+ new_key = ".".join(new_key[2:])
1498
+ result[new_key] = v
1499
+ return result
1500
+
1501
+ self.mm_projector.load_state_dict(
1502
+ get_w(mm_projector_weights, "mm_projector"), strict=True
1503
+ )
1504
+
1505
+
1506
+ class VLMMetaForCausalLM(ABC):
1507
+ @abstractmethod
1508
+ def get_model(self):
1509
+ pass
1510
+
1511
+ def get_vision_tower(self):
1512
+ return self.get_model().get_vision_tower()
1513
+
1514
+ def encode_images(self, images):
1515
+ image_features = self.get_model().get_vision_tower()(images)
1516
+ image_features = self.get_model().mm_projector(image_features)
1517
+ return image_features
1518
+
1519
+ def prepare_inputs_for_multimodal(
1520
+ self,
1521
+ input_ids,
1522
+ position_ids,
1523
+ attention_mask,
1524
+ past_key_values,
1525
+ labels,
1526
+ images,
1527
+ ):
1528
+ vision_tower = self.get_vision_tower()
1529
+ if vision_tower is None or images is None or input_ids.shape[1] == 1:
1530
+ return (
1531
+ input_ids,
1532
+ position_ids,
1533
+ attention_mask,
1534
+ past_key_values,
1535
+ None,
1536
+ labels,
1537
+ )
1538
+ else:
1539
+ image_features = self.encode_images(images)
1540
+ inputs_embeds = self.get_model().embed_tokens(input_ids)
1541
+ inputs_embeds = torch.cat(
1542
+ (
1543
+ inputs_embeds[:, :1, :],
1544
+ image_features,
1545
+ inputs_embeds[:, (image_features.shape[1] + 1) :, :],
1546
+ ),
1547
+ dim=1,
1548
+ )
1549
+ return (
1550
+ None,
1551
+ position_ids,
1552
+ attention_mask,
1553
+ past_key_values,
1554
+ inputs_embeds,
1555
+ labels,
1556
+ )
1557
+
1558
+ def initialize_vision_tokenizer(self, model_args, tokenizer):
1559
+ num_new_tokens = model_args.num_new_tokens
1560
+
1561
+ self.resize_token_embeddings(len(tokenizer))
1562
+
1563
+ if num_new_tokens > 0:
1564
+ input_embeddings = self.get_input_embeddings().weight.data
1565
+ output_embeddings = self.get_output_embeddings().weight.data
1566
+
1567
+ input_embeddings_avg = input_embeddings[:-num_new_tokens].mean(
1568
+ dim=0, keepdim=True
1569
+ )
1570
+ output_embeddings_avg = output_embeddings[:-num_new_tokens].mean(
1571
+ dim=0, keepdim=True
1572
+ )
1573
+
1574
+ input_embeddings[-num_new_tokens:] = input_embeddings_avg
1575
+ output_embeddings[-num_new_tokens:] = output_embeddings_avg
1576
+
1577
+ if model_args.tune_mm_mlp_adapter:
1578
+ for p in self.get_input_embeddings().parameters():
1579
+ p.requires_grad = True
1580
+ for p in self.get_output_embeddings().parameters():
1581
+ p.requires_grad = False
1582
+ else:
1583
+ for p in self.get_input_embeddings().parameters():
1584
+ p.requires_grad = True
1585
+ for p in self.get_output_embeddings().parameters():
1586
+ p.requires_grad = True
1587
+
1588
+ if model_args.pretrain_mm_mlp_adapter:
1589
+ mm_projector_weights = torch.load(
1590
+ model_args.pretrain_mm_mlp_adapter, map_location="cpu"
1591
+ )
1592
+
1593
+ embed_tokens_weight = mm_projector_weights["model.embed_tokens.weight"]
1594
+
1595
+ if input_embeddings.shape == embed_tokens_weight.shape:
1596
+ input_embeddings = embed_tokens_weight
1597
+ elif embed_tokens_weight.shape[0] == num_new_tokens:
1598
+ input_embeddings[-num_new_tokens:] = embed_tokens_weight
1599
+ else:
1600
+ raise ValueError(
1601
+ f"Unexpected embed_tokens_weight shape. "
1602
+ f"Pretrained: {embed_tokens_weight.shape}. "
1603
+ f"Current: {input_embeddings.shape}. "
1604
+ f"Number of new tokens: {num_new_tokens}."
1605
+ )
1606
+
1607
+
1608
+ class VLMQwenConfig(Qwen2Config):
1609
+ model_type = "vlm_qwen"
1610
+
1611
+
1612
+ class VLMQwenModel(VLMMetaModel, Qwen2Model):
1613
+ config_class = VLMQwenConfig
1614
+
1615
+ def __init__(self, config: Qwen2Config):
1616
+ super(VLMQwenModel, self).__init__(config)
1617
+
1618
+
1619
+ class VLMQwenForCausalLM(Qwen2ForCausalLM, VLMMetaForCausalLM):
1620
+ config_class = VLMQwenConfig
1621
+
1622
+ def __init__(self, config):
1623
+ super(Qwen2ForCausalLM, self).__init__(config)
1624
+ self.model = VLMQwenModel(config)
1625
+ self.pretraining_tp = getattr(config, "pretraining_tp", None)
1626
+ self.vocab_size = config.vocab_size
1627
+ self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
1628
+ self.post_init()
1629
+
1630
+ def get_model(self):
1631
+ return self.model
1632
+
1633
+ def forward(
1634
+ self,
1635
+ input_ids: torch.LongTensor = None,
1636
+ attention_mask: Optional[torch.Tensor] = None,
1637
+ position_ids: Optional[torch.LongTensor] = None,
1638
+ past_key_values: Optional[List[torch.FloatTensor]] = None,
1639
+ inputs_embeds: Optional[torch.FloatTensor] = None,
1640
+ labels: Optional[torch.LongTensor] = None,
1641
+ use_cache: Optional[bool] = None,
1642
+ output_attentions: Optional[bool] = None,
1643
+ output_hidden_states: Optional[bool] = None,
1644
+ images: Optional[torch.FloatTensor] = None,
1645
+ image_sizes: Optional[List[List[int]]] = None,
1646
+ return_dict: Optional[bool] = None,
1647
+ num_logits_to_keep: Optional[int] = None,
1648
+ **kwargs: Any,
1649
+ ) -> Union[Tuple, CausalLMOutputWithPast]:
1650
+
1651
+ if inputs_embeds is None:
1652
+ (
1653
+ input_ids,
1654
+ position_ids,
1655
+ attention_mask,
1656
+ past_key_values,
1657
+ inputs_embeds,
1658
+ labels,
1659
+ ) = self.prepare_inputs_for_multimodal(
1660
+ input_ids, position_ids, attention_mask, past_key_values, labels, images
1661
+ )
1662
+
1663
+ return super().forward(
1664
+ input_ids=input_ids,
1665
+ attention_mask=attention_mask,
1666
+ position_ids=position_ids,
1667
+ past_key_values=past_key_values,
1668
+ inputs_embeds=inputs_embeds,
1669
+ labels=labels,
1670
+ use_cache=use_cache,
1671
+ output_attentions=output_attentions,
1672
+ output_hidden_states=output_hidden_states,
1673
+ return_dict=return_dict,
1674
+ )
1675
+
1676
+ @torch.no_grad()
1677
+ def generate(
1678
+ self,
1679
+ images: Optional[torch.Tensor] = None,
1680
+ inputs: Optional[torch.Tensor] = None,
1681
+ **kwargs,
1682
+ ) -> Union[GenerateOutput, torch.LongTensor, Any]:
1683
+ position_ids = kwargs.pop("position_ids", None)
1684
+ attention_mask = kwargs.pop("attention_mask", None)
1685
+ if "inputs_embeds" in kwargs:
1686
+ raise NotImplementedError("`inputs_embeds` is not supported")
1687
+
1688
+ if images is not None:
1689
+ (inputs, position_ids, attention_mask, _, inputs_embeds, _) = (
1690
+ self.prepare_inputs_for_multimodal(
1691
+ inputs,
1692
+ position_ids,
1693
+ attention_mask,
1694
+ None,
1695
+ None,
1696
+ images,
1697
+ )
1698
+ )
1699
+ else:
1700
+ inputs_embeds = self.get_model().embed_tokens(inputs)
1701
+
1702
+ output_ids = super().generate(inputs_embeds=inputs_embeds, **kwargs)
1703
+ return output_ids
1704
+
1705
+ def prepare_inputs_for_generation(
1706
+ self, input_ids, past_key_values=None, inputs_embeds=None, **kwargs
1707
+ ):
1708
+ images = kwargs.pop("images", None)
1709
+ inputs = super().prepare_inputs_for_generation(
1710
+ input_ids,
1711
+ past_key_values=past_key_values,
1712
+ inputs_embeds=inputs_embeds,
1713
+ **kwargs,
1714
+ )
1715
+ if images is not None:
1716
+ inputs["images"] = images
1717
+ return inputs
1718
+
1719
+
1720
+ AutoConfig.register("vlm_qwen", VLMQwenConfig)
1721
+ AutoModelForCausalLM.register(VLMQwenConfig, VLMQwenForCausalLM)
special_tokens_map.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ {
4
+ "content": "<im_patch>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false
9
+ }
10
+ ],
11
+ "eos_token": {
12
+ "content": "<|im_end|>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false
17
+ },
18
+ "pad_token": {
19
+ "content": "<|endoftext|>",
20
+ "lstrip": false,
21
+ "normalized": false,
22
+ "rstrip": false,
23
+ "single_word": false
24
+ }
25
+ }
tokenizer_config.json ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ },
181
+ "151665": {
182
+ "content": "<im_patch>",
183
+ "lstrip": false,
184
+ "normalized": false,
185
+ "rstrip": false,
186
+ "single_word": false,
187
+ "special": true
188
+ }
189
+ },
190
+ "additional_special_tokens": [
191
+ "<im_patch>"
192
+ ],
193
+ "bos_token": null,
194
+ "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
195
+ "clean_up_tokenization_spaces": false,
196
+ "eos_token": "<|im_end|>",
197
+ "errors": "replace",
198
+ "extra_special_tokens": {},
199
+ "model_max_length": 131072,
200
+ "pad_token": "<|endoftext|>",
201
+ "padding_side": "right",
202
+ "split_special_tokens": false,
203
+ "tokenizer_class": "Qwen2Tokenizer",
204
+ "unk_token": null
205
+ }
vision_tower.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:23931cb2829eec4a5895e4d94e2367942ab0cb0f07d383927d80bda3094eed37
3
+ size 73251396
vocab.json ADDED
The diff for this file is too large to render. See raw diff