zhaospei commited on
Commit
147a0c5
·
verified ·
1 Parent(s): 00a1d14

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -1,35 +1,27 @@
1
  *.7z filter=lfs diff=lfs merge=lfs -text
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
 
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
  *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
  *.onnx filter=lfs diff=lfs merge=lfs -text
17
  *.ot filter=lfs diff=lfs merge=lfs -text
18
  *.parquet filter=lfs diff=lfs merge=lfs -text
19
  *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
  *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
  *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
  *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
  *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
  *.xz filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
  *.7z filter=lfs diff=lfs merge=lfs -text
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bin.* filter=lfs diff=lfs merge=lfs -text
5
  *.bz2 filter=lfs diff=lfs merge=lfs -text
 
6
  *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
11
  *.model filter=lfs diff=lfs merge=lfs -text
12
  *.msgpack filter=lfs diff=lfs merge=lfs -text
 
 
13
  *.onnx filter=lfs diff=lfs merge=lfs -text
14
  *.ot filter=lfs diff=lfs merge=lfs -text
15
  *.parquet filter=lfs diff=lfs merge=lfs -text
16
  *.pb filter=lfs diff=lfs merge=lfs -text
 
 
17
  *.pt filter=lfs diff=lfs merge=lfs -text
18
  *.pth filter=lfs diff=lfs merge=lfs -text
19
  *.rar filter=lfs diff=lfs merge=lfs -text
20
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
 
21
  *.tar.* filter=lfs diff=lfs merge=lfs -text
 
22
  *.tflite filter=lfs diff=lfs merge=lfs -text
23
  *.tgz filter=lfs diff=lfs merge=lfs -text
 
24
  *.xz filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ checkpoint-*/
README.md ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🌈 Mô hình phân loại hình ảnh
2
+ ## 📝 Mô tả
3
+ Mô hình này là phiên bản fine-tuned của google/vit-base-patch16-224-in21k trên bộ dữ liệu CIFAR-10 (60.000 ảnh màu 32×32, 10 lớp).
4
+ Trên tập đánh giá, mô hình đạt:
5
+ Loss: 0.2564
6
+ Accuracy: 97.88
7
+
8
+ ## 📌 Ứng dụng
9
+ Phân loại ảnh CIFAR-10 (10 lớp như: airplane, automobile, bird, cat, …)
10
+ Dùng để transfer learning cho các tập dữ liệu nhỏ hơn
11
+ Làm nền tảng cho các thử nghiệm về fine-tuning ViT trên dữ liệu màu sắc nhỏ
12
+
13
+ ## 📥 Chuẩn bị đầu vào
14
+ Ảnh màu RGB
15
+ Thư viện sẽ xử lý bằng ViTImageProcessor:
16
+ Resize hình về 224×224
17
+ Chuẩn hóa theo mean/std của ImageNet
18
+
19
+ ## 📤 Đầu ra
20
+ Logits tensor kích thước [batch_size, 10]
21
+ Dùng argmax(-1) để nhận nhãn dự đoán
22
+
23
+ ## 🛠 Cài đặt
24
+ ```bash
25
+ pip install torch torchvision transformers
26
+ ```
27
+
28
+ ## 🧪 Ví dụ sử dụng
29
+ ```python
30
+ import torch
31
+ from transformers import ViTForImageClassification, ViTImageProcessor
32
+ from PIL import Image
33
+
34
+ model_name = "zhaospei/Model_16"
35
+
36
+ processor = ViTImageProcessor.from_pretrained(model_name)
37
+ model = ViTForImageClassification.from_pretrained(model_name)
38
+
39
+ img = Image.open("path/to/cifar10_image.png").convert("RGB")
40
+ inputs = processor(img, return_tensors="pt")
41
+
42
+ with torch.no_grad():
43
+ logits = model(**inputs).logits
44
+
45
+ pred = logits.argmax(-1).item()
46
+ label = model.config.id2label[pred]
47
+ print(f"Predicted label: {label} (Index: {pred})")
48
+ ```
49
+
50
+ ## ⚙️ Thông số huấn luyện
51
+ Thiết lập Giá trị
52
+ Learning rate 5e-5
53
+ Batch size (train/eval) 32 / 32
54
+ Gradient accumulation 4
55
+ Total batch size 128
56
+ Optimizer Adam (β=(0.9,0.999), ε=1e-8)
57
+ Scheduler Learning rate linearly giảm (warmup 0.1)
58
+ Epochs 1
59
+ Seed 42
60
+ Framework Transformers 4.17.0, PyTorch 1.10.0+cu111
61
+
62
+ ## 📊 Hiệu quả
63
+ Báo cáo accuracy đạt 97.88 % trên tập đánh giá CIFAR-10
64
+
65
+ Thích hợp để đánh giá khả năng áp dụng ViT ở dữ liệu nhỏ và cải tiến nhanh timemodels
66
+
67
+ ## ✅ Lưu ý & Mở rộng
68
+ Đây là mô hình để demo hoặc baseline, không phù hợp cho trường hợp cần độ chính xác cao hơn (có thể fine-tune thêm)
69
+
70
+ Dễ dàng kết hợp với các kỹ thuật augment, thêm epochs, hoặc sử dụng data robustness khi cần
71
+
72
+ Có thể dùng làm backbone để ép nhỏ, kiểm thử OOD, adversarial training, v.v.
all_results.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 1.0,
3
+ "eval_accuracy": 0.9788,
4
+ "eval_loss": 0.25641629099845886,
5
+ "eval_runtime": 263.6472,
6
+ "eval_samples_per_second": 37.929,
7
+ "eval_steps_per_second": 1.187,
8
+ "total_flos": 3.86867749153407e+18,
9
+ "train_loss": 0.7974265074118589,
10
+ "train_runtime": 3555.934,
11
+ "train_samples_per_second": 14.061,
12
+ "train_steps_per_second": 0.11
13
+ }
config.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "google/vit-base-patch16-224-in21k",
3
+ "architectures": [
4
+ "ViTForImageClassification"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.0,
7
+ "encoder_stride": 16,
8
+ "hidden_act": "gelu",
9
+ "hidden_dropout_prob": 0.0,
10
+ "hidden_size": 768,
11
+ "id2label": {
12
+ "0": "airplane",
13
+ "1": "automobile",
14
+ "2": "bird",
15
+ "3": "cat",
16
+ "4": "deer",
17
+ "5": "dog",
18
+ "6": "frog",
19
+ "7": "horse",
20
+ "8": "ship",
21
+ "9": "truck"
22
+ },
23
+ "image_size": 224,
24
+ "initializer_range": 0.02,
25
+ "intermediate_size": 3072,
26
+ "label2id": {
27
+ "airplane": "0",
28
+ "automobile": "1",
29
+ "bird": "2",
30
+ "cat": "3",
31
+ "deer": "4",
32
+ "dog": "5",
33
+ "frog": "6",
34
+ "horse": "7",
35
+ "ship": "8",
36
+ "truck": "9"
37
+ },
38
+ "layer_norm_eps": 1e-12,
39
+ "model_type": "vit",
40
+ "num_attention_heads": 12,
41
+ "num_channels": 3,
42
+ "num_hidden_layers": 12,
43
+ "patch_size": 16,
44
+ "problem_type": "single_label_classification",
45
+ "qkv_bias": true,
46
+ "torch_dtype": "float32",
47
+ "transformers_version": "4.17.0"
48
+ }
eval_results.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 1.0,
3
+ "eval_accuracy": 0.9788,
4
+ "eval_loss": 0.25641629099845886,
5
+ "eval_runtime": 263.6472,
6
+ "eval_samples_per_second": 37.929,
7
+ "eval_steps_per_second": 1.187
8
+ }
preprocessor_config.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_normalize": true,
3
+ "do_resize": true,
4
+ "feature_extractor_type": "ViTFeatureExtractor",
5
+ "image_mean": [
6
+ 0.5,
7
+ 0.5,
8
+ 0.5
9
+ ],
10
+ "image_std": [
11
+ 0.5,
12
+ 0.5,
13
+ 0.5
14
+ ],
15
+ "resample": 2,
16
+ "size": 224
17
+ }
pytorch_model.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e738962ed1175c80087a29447e899372301113b4995a6fbe1127ad2a53d7ac4
3
+ size 343305329
runs/Mar30_00-25-17_63aa4d2b9b7b/1648599984.214082/events.out.tfevents.1648599984.63aa4d2b9b7b.72.1 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03bb9e01d56d15e4a392190d0e8dc945e96742d2c7fbe32703c534179815443d
3
+ size 4848
runs/Mar30_00-25-17_63aa4d2b9b7b/events.out.tfevents.1648599984.63aa4d2b9b7b.72.0 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e9100f335986bd21d71d25d72f24b71981fa6d520383a8b1cdbb7cadb66df34a
3
+ size 10428
runs/Mar30_00-25-17_63aa4d2b9b7b/events.out.tfevents.1648604459.63aa4d2b9b7b.72.2 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:515ff0376876bc4288a268c5e13124885a28f859f74ec720ab2be86d92968184
3
+ size 363
train_results.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 1.0,
3
+ "total_flos": 3.86867749153407e+18,
4
+ "train_loss": 0.7974265074118589,
5
+ "train_runtime": 3555.934,
6
+ "train_samples_per_second": 14.061,
7
+ "train_steps_per_second": 0.11
8
+ }
trainer_state.json ADDED
@@ -0,0 +1,268 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_metric": 0.9788,
3
+ "best_model_checkpoint": "vit-base-patch16-224-in21k-finetuned-cifar10/checkpoint-390",
4
+ "epoch": 0.9980806142034548,
5
+ "global_step": 390,
6
+ "is_hyper_param_search": false,
7
+ "is_local_process_zero": true,
8
+ "is_world_process_zero": true,
9
+ "log_history": [
10
+ {
11
+ "epoch": 0.03,
12
+ "learning_rate": 1.282051282051282e-05,
13
+ "loss": 2.3249,
14
+ "step": 10
15
+ },
16
+ {
17
+ "epoch": 0.05,
18
+ "learning_rate": 2.564102564102564e-05,
19
+ "loss": 2.2694,
20
+ "step": 20
21
+ },
22
+ {
23
+ "epoch": 0.08,
24
+ "learning_rate": 3.846153846153846e-05,
25
+ "loss": 2.1649,
26
+ "step": 30
27
+ },
28
+ {
29
+ "epoch": 0.1,
30
+ "learning_rate": 4.985754985754986e-05,
31
+ "loss": 1.9757,
32
+ "step": 40
33
+ },
34
+ {
35
+ "epoch": 0.13,
36
+ "learning_rate": 4.8433048433048433e-05,
37
+ "loss": 1.6938,
38
+ "step": 50
39
+ },
40
+ {
41
+ "epoch": 0.15,
42
+ "learning_rate": 4.700854700854701e-05,
43
+ "loss": 1.4069,
44
+ "step": 60
45
+ },
46
+ {
47
+ "epoch": 0.18,
48
+ "learning_rate": 4.558404558404559e-05,
49
+ "loss": 1.1938,
50
+ "step": 70
51
+ },
52
+ {
53
+ "epoch": 0.2,
54
+ "learning_rate": 4.415954415954416e-05,
55
+ "loss": 1.045,
56
+ "step": 80
57
+ },
58
+ {
59
+ "epoch": 0.23,
60
+ "learning_rate": 4.2735042735042735e-05,
61
+ "loss": 0.9435,
62
+ "step": 90
63
+ },
64
+ {
65
+ "epoch": 0.26,
66
+ "learning_rate": 4.131054131054131e-05,
67
+ "loss": 0.8542,
68
+ "step": 100
69
+ },
70
+ {
71
+ "epoch": 0.28,
72
+ "learning_rate": 3.988603988603989e-05,
73
+ "loss": 0.7705,
74
+ "step": 110
75
+ },
76
+ {
77
+ "epoch": 0.31,
78
+ "learning_rate": 3.846153846153846e-05,
79
+ "loss": 0.7295,
80
+ "step": 120
81
+ },
82
+ {
83
+ "epoch": 0.33,
84
+ "learning_rate": 3.7037037037037037e-05,
85
+ "loss": 0.6826,
86
+ "step": 130
87
+ },
88
+ {
89
+ "epoch": 0.36,
90
+ "learning_rate": 3.561253561253561e-05,
91
+ "loss": 0.6886,
92
+ "step": 140
93
+ },
94
+ {
95
+ "epoch": 0.38,
96
+ "learning_rate": 3.418803418803419e-05,
97
+ "loss": 0.604,
98
+ "step": 150
99
+ },
100
+ {
101
+ "epoch": 0.41,
102
+ "learning_rate": 3.2763532763532764e-05,
103
+ "loss": 0.5829,
104
+ "step": 160
105
+ },
106
+ {
107
+ "epoch": 0.44,
108
+ "learning_rate": 3.133903133903134e-05,
109
+ "loss": 0.5991,
110
+ "step": 170
111
+ },
112
+ {
113
+ "epoch": 0.46,
114
+ "learning_rate": 2.9914529914529915e-05,
115
+ "loss": 0.5614,
116
+ "step": 180
117
+ },
118
+ {
119
+ "epoch": 0.49,
120
+ "learning_rate": 2.8490028490028492e-05,
121
+ "loss": 0.5863,
122
+ "step": 190
123
+ },
124
+ {
125
+ "epoch": 0.51,
126
+ "learning_rate": 2.706552706552707e-05,
127
+ "loss": 0.5146,
128
+ "step": 200
129
+ },
130
+ {
131
+ "epoch": 0.54,
132
+ "learning_rate": 2.564102564102564e-05,
133
+ "loss": 0.5278,
134
+ "step": 210
135
+ },
136
+ {
137
+ "epoch": 0.56,
138
+ "learning_rate": 2.4216524216524217e-05,
139
+ "loss": 0.4996,
140
+ "step": 220
141
+ },
142
+ {
143
+ "epoch": 0.59,
144
+ "learning_rate": 2.2792022792022794e-05,
145
+ "loss": 0.5387,
146
+ "step": 230
147
+ },
148
+ {
149
+ "epoch": 0.61,
150
+ "learning_rate": 2.1367521367521368e-05,
151
+ "loss": 0.4954,
152
+ "step": 240
153
+ },
154
+ {
155
+ "epoch": 0.64,
156
+ "learning_rate": 1.9943019943019945e-05,
157
+ "loss": 0.5052,
158
+ "step": 250
159
+ },
160
+ {
161
+ "epoch": 0.67,
162
+ "learning_rate": 1.8518518518518518e-05,
163
+ "loss": 0.4617,
164
+ "step": 260
165
+ },
166
+ {
167
+ "epoch": 0.69,
168
+ "learning_rate": 1.7094017094017095e-05,
169
+ "loss": 0.4812,
170
+ "step": 270
171
+ },
172
+ {
173
+ "epoch": 0.72,
174
+ "learning_rate": 1.566951566951567e-05,
175
+ "loss": 0.4475,
176
+ "step": 280
177
+ },
178
+ {
179
+ "epoch": 0.74,
180
+ "learning_rate": 1.4245014245014246e-05,
181
+ "loss": 0.4786,
182
+ "step": 290
183
+ },
184
+ {
185
+ "epoch": 0.77,
186
+ "learning_rate": 1.282051282051282e-05,
187
+ "loss": 0.4722,
188
+ "step": 300
189
+ },
190
+ {
191
+ "epoch": 0.79,
192
+ "learning_rate": 1.1396011396011397e-05,
193
+ "loss": 0.4365,
194
+ "step": 310
195
+ },
196
+ {
197
+ "epoch": 0.82,
198
+ "learning_rate": 9.971509971509972e-06,
199
+ "loss": 0.4803,
200
+ "step": 320
201
+ },
202
+ {
203
+ "epoch": 0.84,
204
+ "learning_rate": 8.547008547008548e-06,
205
+ "loss": 0.4504,
206
+ "step": 330
207
+ },
208
+ {
209
+ "epoch": 0.87,
210
+ "learning_rate": 7.122507122507123e-06,
211
+ "loss": 0.4467,
212
+ "step": 340
213
+ },
214
+ {
215
+ "epoch": 0.9,
216
+ "learning_rate": 5.6980056980056985e-06,
217
+ "loss": 0.4477,
218
+ "step": 350
219
+ },
220
+ {
221
+ "epoch": 0.92,
222
+ "learning_rate": 4.273504273504274e-06,
223
+ "loss": 0.4257,
224
+ "step": 360
225
+ },
226
+ {
227
+ "epoch": 0.95,
228
+ "learning_rate": 2.8490028490028492e-06,
229
+ "loss": 0.4344,
230
+ "step": 370
231
+ },
232
+ {
233
+ "epoch": 0.97,
234
+ "learning_rate": 1.4245014245014246e-06,
235
+ "loss": 0.4493,
236
+ "step": 380
237
+ },
238
+ {
239
+ "epoch": 1.0,
240
+ "learning_rate": 0.0,
241
+ "loss": 0.4291,
242
+ "step": 390
243
+ },
244
+ {
245
+ "epoch": 1.0,
246
+ "eval_accuracy": 0.9788,
247
+ "eval_loss": 0.25641629099845886,
248
+ "eval_runtime": 262.0666,
249
+ "eval_samples_per_second": 38.158,
250
+ "eval_steps_per_second": 1.194,
251
+ "step": 390
252
+ },
253
+ {
254
+ "epoch": 1.0,
255
+ "step": 390,
256
+ "total_flos": 3.86867749153407e+18,
257
+ "train_loss": 0.7974265074118589,
258
+ "train_runtime": 3555.934,
259
+ "train_samples_per_second": 14.061,
260
+ "train_steps_per_second": 0.11
261
+ }
262
+ ],
263
+ "max_steps": 390,
264
+ "num_train_epochs": 1,
265
+ "total_flos": 3.86867749153407e+18,
266
+ "trial_name": null,
267
+ "trial_params": null
268
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3cdc7435c7264a2bb289df316efe90d25aca40256ed73e6e61296869d73ff057
3
+ size 3055