AbstractPhil commited on
Commit
4b9246f
·
verified ·
1 Parent(s): 2838468

Upload weights - GeoFractalDavid-Basin-k9 - Run 20251016_000149 - Acc 78.89%

Browse files
weights/GeoFractalDavid-Basin-k9/20251016_000149/README.md ADDED
@@ -0,0 +1,287 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: en
3
+ license: mit
4
+ tags:
5
+ - image-classification
6
+ - imagenet
7
+ - geometric-basin
8
+ - cantor-coherence
9
+ - multi-scale
10
+ - geofractaldavid
11
+ datasets:
12
+ - imagenet-1k
13
+ metrics:
14
+ - accuracy
15
+ library_name: pytorch
16
+ model-index:
17
+ - name: GeoFractalDavid-Basin-k9
18
+ results:
19
+ - task:
20
+ type: image-classification
21
+ dataset:
22
+ name: ImageNet-1K
23
+ type: imagenet-1k
24
+ metrics:
25
+ - type: accuracy
26
+ value: 78.89
27
+ name: Validation Accuracy
28
+ ---
29
+
30
+ # GeoFractalDavid-Basin-k9: Geometric Basin Classification
31
+
32
+ **GeoFractalDavid** achieves classification through geometric compatibility rather than cross-entropy.
33
+ Features must "fit" geometric signatures: k-simplex shapes, Cantor positions, and hierarchical structure.
34
+
35
+ ## 🎯 Performance
36
+
37
+ - **Best Validation Accuracy**: 78.89%
38
+ - **Epoch**: 2/10
39
+ - **Training Time**: 5m
40
+
41
+ ### Per-Scale Performance
42
+ - **Scale 512D**: 78.11%
43
+ - **Scale 576D**: 78.22%
44
+ - **Scale 640D**: 78.29%
45
+ - **Scale 704D**: 78.22%
46
+ - **Scale 768D**: 78.10%
47
+ - **Scale 832D**: 78.11%
48
+ - **Scale 896D**: 77.50%
49
+ - **Scale 960D**: 77.48%
50
+ - **Scale 1024D**: 76.10%
51
+
52
+
53
+ ## 🏗️ Architecture
54
+
55
+ **Model Type**: Multi-scale geometric basin classifier
56
+
57
+ **Core Components**:
58
+ - **Feature Dimension**: 768
59
+ - **Number of Classes**: 1000
60
+ - **k-Simplex Structure**: k=9 (10 vertices per class)
61
+ - **Scales**: [512, 576, 640, 704, 768, 832, 896, 960, 1024]
62
+ - **Total Simplex Vertices**: 10,000
63
+
64
+ **Geometric Components**:
65
+ 1. **Feature Similarity**: Cosine similarity to k-simplex centroids
66
+ 2. **Cantor Coherence**: Distance to learned Cantor prototypes (alpha-normalized)
67
+ 3. **Crystal Geometry**: Distance to nearest simplex vertex
68
+
69
+ Each scale learns to weight these components differently.
70
+
71
+ ## 🔬 Learned Structure
72
+
73
+ ### Alpha Convergence (Global Cantor Stairs)
74
+
75
+ The alpha parameter controls middle-interval weighting in the Cantor staircase.
76
+
77
+ - **Initial**: 0.5078
78
+ - **Final**: 0.5387
79
+ - **Change**: +0.0309
80
+ - **Converged to 0.5**: True
81
+
82
+ The Cantor staircase uses soft triadic decomposition with learnable alpha to map
83
+ features into [0,1] space with fractal structure.
84
+
85
+ ### Cantor Prototype Distribution
86
+
87
+ Each class has a learned scalar Cantor prototype. The model pulls features toward
88
+ their class's Cantor position.
89
+
90
+ **Scale 512D**:
91
+ - Mean: 0.5389
92
+ - Std: 0.1279
93
+ - Range: [0.2747, 0.7762]
94
+
95
+ **Scale 576D**:
96
+ - Mean: 0.5391
97
+ - Std: 0.1278
98
+ - Range: [0.2753, 0.7758]
99
+
100
+ **Scale 640D**:
101
+ - Mean: 0.5391
102
+ - Std: 0.1277
103
+ - Range: [0.2756, 0.7758]
104
+
105
+ **Scale 704D**:
106
+ - Mean: 0.5384
107
+ - Std: 0.1274
108
+ - Range: [0.2757, 0.7740]
109
+
110
+ **Scale 768D**:
111
+ - Mean: 0.5344
112
+ - Std: 0.1296
113
+ - Range: [0.2642, 0.7727]
114
+
115
+ **Scale 832D**:
116
+ - Mean: 0.5376
117
+ - Std: 0.1279
118
+ - Range: [0.2729, 0.7738]
119
+
120
+ **Scale 896D**:
121
+ - Mean: 0.5361
122
+ - Std: 0.1295
123
+ - Range: [0.2662, 0.7758]
124
+
125
+ **Scale 960D**:
126
+ - Mean: 0.5367
127
+ - Std: 0.1287
128
+ - Range: [0.2695, 0.7749]
129
+
130
+ **Scale 1024D**:
131
+ - Mean: 0.5375
132
+ - Std: 0.1283
133
+ - Range: [0.2718, 0.7747]
134
+
135
+
136
+ Most classes cluster around 0.5 (middle Cantor region), with smooth spread across [0,1].
137
+ This creates a continuous manifold rather than discrete bins.
138
+
139
+ ### Geometric Weight Evolution
140
+
141
+ Each scale learns optimal weights for combining geometric components:
142
+
143
+ **Scale 512D**: Feature=0.692, Cantor=0.072, Crystal=0.235
144
+ **Scale 576D**: Feature=0.651, Cantor=0.073, Crystal=0.276
145
+ **Scale 640D**: Feature=0.619, Cantor=0.074, Crystal=0.307
146
+ **Scale 704D**: Feature=0.626, Cantor=0.066, Crystal=0.308
147
+ **Scale 768D**: Feature=0.829, Cantor=0.031, Crystal=0.140
148
+ **Scale 832D**: Feature=0.694, Cantor=0.048, Crystal=0.258
149
+ **Scale 896D**: Feature=0.802, Cantor=0.032, Crystal=0.166
150
+ **Scale 960D**: Feature=0.735, Cantor=0.038, Crystal=0.227
151
+ **Scale 1024D**: Feature=0.663, Cantor=0.042, Crystal=0.295
152
+
153
+
154
+ **Pattern**: Lower scales rely on feature similarity, higher scales use crystal geometry.
155
+ This hierarchical strategy emerges from training.
156
+
157
+ ## 💻 Usage
158
+
159
+ ```python
160
+ import torch
161
+ from safetensors.torch import load_file
162
+ from geovocab2.train.model.core.geo_fractal_david import GeoFractalDavid
163
+
164
+ # Load model
165
+ model = GeoFractalDavid(
166
+ feature_dim=512,
167
+ num_classes=1000,
168
+ k=5,
169
+ scales=[256, 384, 512, 768, 1024, 1280],
170
+ alpha_init=0.5,
171
+ tau=0.25
172
+ )
173
+
174
+ state_dict = load_file("weights/.../best_model_acc{best_acc:.2f}.safetensors")
175
+ model.load_state_dict(state_dict)
176
+ model.eval()
177
+
178
+ # Inference
179
+ with torch.no_grad():
180
+ logits = model(features) # [batch_size, 1000]
181
+ predictions = logits.argmax(dim=-1)
182
+
183
+ # Inspect learned structure
184
+ print(f"Global Alpha: {{model.cantor_stairs.alpha.item():.4f}}")
185
+ geo_weights = model.get_geometric_weights()
186
+ cantor_dist = model.get_cantor_interval_distribution(sample_features)
187
+ ```
188
+
189
+ ## 🎓 Training Details
190
+
191
+ **Loss Function**: Contrastive Geometric Basin
192
+ - Primary: Maximize correct class compatibility, minimize incorrect
193
+ - Regularization: Cantor coherence, separation, discretization
194
+
195
+ **Optimization**:
196
+ - Optimizer: AdamW with separate learning rates
197
+ - Scales: {config.learning_rate}
198
+ - Fusion weights: {config.learning_rate * 0.5}
199
+ - Cantor stairs: {config.learning_rate * 0.1}
200
+ - Weight decay: {config.weight_decay}
201
+ - Gradient clipping: {config.gradient_clip}
202
+ - Scheduler: {config.scheduler_type}
203
+
204
+ **Data**:
205
+ - Dataset: ImageNet-1K CLIP features ({config.model_variant})
206
+ - Batch size: {config.batch_size}
207
+ - Training samples: 1,281,167
208
+ - Validation samples: 50,000
209
+
210
+ **Hub Upload**: {"Periodic (every " + str(config.hub_upload_interval) + " epochs)" if config.hub_upload_interval > 0 else "End of training only"}
211
+
212
+ ## 🔑 Key Innovation
213
+
214
+ **No Cross-Entropy on Arbitrary Weights**
215
+
216
+ Traditional: `cross_entropy(W @ features + b, labels)`
217
+ - W and b are arbitrary learned parameters
218
+
219
+ **Geometric Basin**: `contrastive_loss(compatibility_scores, labels)`
220
+ - Compatibility from geometric structure:
221
+ - Feature ↔ Simplex centroid similarity
222
+ - Feature ↔ Cantor prototype coherence
223
+ - Feature ↔ Simplex vertex distance
224
+ - Cross-entropy applied to geometrically meaningful scores
225
+ - Structure enforced through geometric regularization
226
+
227
+ Result: Classification emerges from geometric organization, not arbitrary mappings.
228
+
229
+ ## 📊 Visualizations
230
+
231
+ The repository includes visualizations of learned structure:
232
+ - Cantor prototype distributions (histograms per scale)
233
+ - Sorted prototype curves (showing smooth manifold)
234
+ - Cross-scale analysis (mean, variance, geometric weights)
235
+
236
+ See `weights/{model_name}/{config.run_id}/` for generated plots.
237
+
238
+ ## 📁 Repository Structure
239
+
240
+ ```
241
+ weights/{model_name}/{config.run_id}/
242
+ ├── best_model_acc{best_acc:.2f}.safetensors # Model weights
243
+ ├── best_model_acc{best_acc:.2f}_metadata.json # Training metadata
244
+ ├── train_config.json # Training configuration
245
+ ├── training_history.json # Epoch-by-epoch history
246
+ ├── cantor_prototypes_distribution.png # Histogram analysis
247
+ ├── cantor_prototypes_sorted.png # Sorted manifold view
248
+ └── cantor_prototypes_cross_scale.png # Cross-scale comparison
249
+
250
+ runs/{model_name}/{config.run_id}/
251
+ └── events.out.tfevents.* # TensorBoard logs
252
+ ```
253
+
254
+ **Note**: Visualizations (*.png) are generated by running the probe script and should be
255
+ copied to the weights directory before uploading to Hub.
256
+
257
+ ## 🔬 Research
258
+
259
+ This architecture demonstrates:
260
+ 1. **Rapid learning** (70%+ after 1 epoch, comparable to FractalDavid)
261
+ 2. **Geometric organization** (classes spread smoothly in Cantor space)
262
+ 3. **Hierarchical strategy** (scales learn different geometric weightings)
263
+ 4. **Emergent structure** (alpha stays near 0.5, prototypes cluster naturally)
264
+
265
+ The geometric constraints guide learning toward structured representations
266
+ without explicit supervision of the geometric components.
267
+
268
+ ## 📝 Citation
269
+
270
+ ```bibtex
271
+ @software{{geofractaldavid2025,
272
+ title = {{GeoFractalDavid: Geometric Basin Classification}},
273
+ author = {{AbstractPhil}},
274
+ year = {{2025}},
275
+ url = {{https://huggingface.co/{config.hf_repo if config.hf_repo else 'MODEL_REPO'}}},
276
+ note = {{Multi-scale geometric basin classifier with k-simplex structure}}
277
+ }}
278
+ ```
279
+
280
+ ## 📄 License
281
+
282
+ MIT License - See LICENSE file for details.
283
+
284
+ ---
285
+
286
+ *Model trained on {datetime.now().strftime('%Y-%m-%d')}*
287
+ *Run ID: {config.run_id}*
weights/GeoFractalDavid-Basin-k9/20251016_000149/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bff67a7ee12ff64dd391d067010635a04c9858b0a781b3f1c35a13a06575bb88
3
+ size 363621916
weights/GeoFractalDavid-Basin-k9/20251016_000149/model_metadata.json ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "epoch": 1,
3
+ "metrics": {
4
+ "val_acc": 78.888,
5
+ "train_acc": 80.14966042678277,
6
+ "scale_accuracies": {
7
+ "512": 78.108,
8
+ "576": 78.224,
9
+ "640": 78.294,
10
+ "704": 78.222,
11
+ "768": 78.096,
12
+ "832": 78.112,
13
+ "896": 77.504,
14
+ "960": 77.484,
15
+ "1024": 76.1
16
+ },
17
+ "best_val_acc": 78.888,
18
+ "best_epoch": 1,
19
+ "final_train_acc": 80.14966042678277,
20
+ "training_time": "5m"
21
+ },
22
+ "config": {
23
+ "name": "geofractal_david_basin",
24
+ "run_id": "20251016_000149",
25
+ "dataset_name": "AbstractPhil/imagenet-clip-features-orderly",
26
+ "model_variant": "clip_vit_l14",
27
+ "num_classes": 1000,
28
+ "feature_dim": 768,
29
+ "scales": [
30
+ 512,
31
+ 576,
32
+ 640,
33
+ 704,
34
+ 768,
35
+ 832,
36
+ 896,
37
+ 960,
38
+ 1024
39
+ ],
40
+ "k": 9,
41
+ "alpha_init": 0.5,
42
+ "tau": 0.25,
43
+ "w_coherence": 0.5,
44
+ "w_separation": 0.3,
45
+ "w_discretization": 0.0,
46
+ "w_geometry": 0.7,
47
+ "w_classification": 5.0,
48
+ "cantor_margin": 0.1,
49
+ "cantor_targets": [
50
+ 0.0,
51
+ 0.5,
52
+ 1.0
53
+ ],
54
+ "num_epochs": 10,
55
+ "batch_size": 1024,
56
+ "learning_rate": 0.001,
57
+ "weight_decay": 1e-05,
58
+ "warmup_epochs": 2,
59
+ "gradient_clip": 5.0,
60
+ "scheduler_type": "cosine",
61
+ "min_lr": 1e-06,
62
+ "log_interval": 50,
63
+ "val_interval": 1,
64
+ "save_interval": 5,
65
+ "base_dir": "./geofractal_training",
66
+ "num_workers": 6,
67
+ "pin_memory": true,
68
+ "prefetch_factor": 6,
69
+ "persistent_workers": true,
70
+ "hf_repo": "AbstractPhil/geofractal-david",
71
+ "upload_to_hub": true,
72
+ "private_repo": false,
73
+ "hub_upload_interval": 2
74
+ },
75
+ "diagnostics": {
76
+ "alpha_summary": {
77
+ "global": {
78
+ "initial": 0.5078181624412537,
79
+ "final": 0.5387266874313354,
80
+ "change": 0.030908524990081787,
81
+ "converged_to_0.5": true
82
+ }
83
+ },
84
+ "cantor_prototypes": {
85
+ "512": {
86
+ "final_mean": 0.5389490127563477,
87
+ "final_std": 0.1278502196073532,
88
+ "final_range": [
89
+ 0.27474915981292725,
90
+ 0.7761662602424622
91
+ ]
92
+ },
93
+ "576": {
94
+ "final_mean": 0.5391144156455994,
95
+ "final_std": 0.12775833904743195,
96
+ "final_range": [
97
+ 0.2752755582332611,
98
+ 0.7758248448371887
99
+ ]
100
+ },
101
+ "640": {
102
+ "final_mean": 0.5391111373901367,
103
+ "final_std": 0.12765344977378845,
104
+ "final_range": [
105
+ 0.2756292223930359,
106
+ 0.775783896446228
107
+ ]
108
+ },
109
+ "704": {
110
+ "final_mean": 0.5384144186973572,
111
+ "final_std": 0.12739966809749603,
112
+ "final_range": [
113
+ 0.27569496631622314,
114
+ 0.7740228176116943
115
+ ]
116
+ },
117
+ "768": {
118
+ "final_mean": 0.5344298481941223,
119
+ "final_std": 0.1295781135559082,
120
+ "final_range": [
121
+ 0.26418763399124146,
122
+ 0.7726764678955078
123
+ ]
124
+ },
125
+ "832": {
126
+ "final_mean": 0.5376392602920532,
127
+ "final_std": 0.12788981199264526,
128
+ "final_range": [
129
+ 0.2729322016239166,
130
+ 0.7738057971000671
131
+ ]
132
+ },
133
+ "896": {
134
+ "final_mean": 0.5361161231994629,
135
+ "final_std": 0.12952949106693268,
136
+ "final_range": [
137
+ 0.2661586105823517,
138
+ 0.775814950466156
139
+ ]
140
+ },
141
+ "960": {
142
+ "final_mean": 0.5367220640182495,
143
+ "final_std": 0.1286790519952774,
144
+ "final_range": [
145
+ 0.2695462107658386,
146
+ 0.7749242186546326
147
+ ]
148
+ },
149
+ "1024": {
150
+ "final_mean": 0.5374913811683655,
151
+ "final_std": 0.12825900316238403,
152
+ "final_range": [
153
+ 0.2718084156513214,
154
+ 0.774700939655304
155
+ ]
156
+ }
157
+ },
158
+ "geo_weights": {
159
+ "512": {
160
+ "feature": 0.6921859979629517,
161
+ "cantor": 0.07245893776416779,
162
+ "crystal": 0.23535509407520294
163
+ },
164
+ "576": {
165
+ "feature": 0.650705099105835,
166
+ "cantor": 0.07325796037912369,
167
+ "crystal": 0.2760368585586548
168
+ },
169
+ "640": {
170
+ "feature": 0.6189382672309875,
171
+ "cantor": 0.07382705062627792,
172
+ "crystal": 0.3072347342967987
173
+ },
174
+ "704": {
175
+ "feature": 0.6264040470123291,
176
+ "cantor": 0.06589735299348831,
177
+ "crystal": 0.3076985776424408
178
+ },
179
+ "768": {
180
+ "feature": 0.8293132185935974,
181
+ "cantor": 0.030711539089679718,
182
+ "crystal": 0.13997520506381989
183
+ },
184
+ "832": {
185
+ "feature": 0.6941732168197632,
186
+ "cantor": 0.04803140461444855,
187
+ "crystal": 0.2577953040599823
188
+ },
189
+ "896": {
190
+ "feature": 0.8018559217453003,
191
+ "cantor": 0.03219277039170265,
192
+ "crystal": 0.16595134139060974
193
+ },
194
+ "960": {
195
+ "feature": 0.7354097962379456,
196
+ "cantor": 0.037818897515535355,
197
+ "crystal": 0.22677132487297058
198
+ },
199
+ "1024": {
200
+ "feature": 0.662774920463562,
201
+ "cantor": 0.04228794202208519,
202
+ "crystal": 0.2949370741844177
203
+ }
204
+ },
205
+ "training_history": {
206
+ "epochs": [
207
+ 1,
208
+ 2
209
+ ],
210
+ "train_loss": [
211
+ 1.9504992645769454,
212
+ 1.4699646668693127
213
+ ],
214
+ "train_acc": [
215
+ 74.06965680508473,
216
+ 80.14966042678277
217
+ ],
218
+ "val_acc": [
219
+ 78.016,
220
+ 78.888
221
+ ],
222
+ "lr": [
223
+ 0.001,
224
+ 0.0009755527298894294
225
+ ]
226
+ }
227
+ }
228
+ }
weights/GeoFractalDavid-Basin-k9/20251016_000149/train_config.json ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "geofractal_david_basin",
3
+ "run_id": "20251016_000149",
4
+ "dataset_name": "AbstractPhil/imagenet-clip-features-orderly",
5
+ "model_variant": "clip_vit_l14",
6
+ "num_classes": 1000,
7
+ "feature_dim": 768,
8
+ "scales": [
9
+ 512,
10
+ 576,
11
+ 640,
12
+ 704,
13
+ 768,
14
+ 832,
15
+ 896,
16
+ 960,
17
+ 1024
18
+ ],
19
+ "k": 9,
20
+ "alpha_init": 0.5,
21
+ "tau": 0.25,
22
+ "w_coherence": 0.5,
23
+ "w_separation": 0.3,
24
+ "w_discretization": 0.0,
25
+ "w_geometry": 0.7,
26
+ "w_classification": 5.0,
27
+ "cantor_margin": 0.1,
28
+ "cantor_targets": [
29
+ 0.0,
30
+ 0.5,
31
+ 1.0
32
+ ],
33
+ "num_epochs": 10,
34
+ "batch_size": 1024,
35
+ "learning_rate": 0.001,
36
+ "weight_decay": 1e-05,
37
+ "warmup_epochs": 2,
38
+ "gradient_clip": 5.0,
39
+ "scheduler_type": "cosine",
40
+ "min_lr": 1e-06,
41
+ "log_interval": 50,
42
+ "val_interval": 1,
43
+ "save_interval": 5,
44
+ "base_dir": "./geofractal_training",
45
+ "num_workers": 6,
46
+ "pin_memory": true,
47
+ "prefetch_factor": 6,
48
+ "persistent_workers": true,
49
+ "hf_repo": "AbstractPhil/geofractal-david",
50
+ "upload_to_hub": true,
51
+ "private_repo": false,
52
+ "hub_upload_interval": 2
53
+ }
weights/GeoFractalDavid-Basin-k9/20251016_000149/training_history.json ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "training_history": {
3
+ "epochs": [
4
+ 1,
5
+ 2
6
+ ],
7
+ "train_loss": [
8
+ 1.9504992645769454,
9
+ 1.4699646668693127
10
+ ],
11
+ "train_acc": [
12
+ 74.06965680508473,
13
+ 80.14966042678277
14
+ ],
15
+ "val_acc": [
16
+ 78.016,
17
+ 78.888
18
+ ],
19
+ "lr": [
20
+ 0.001,
21
+ 0.0009755527298894294
22
+ ]
23
+ },
24
+ "loss_components": {
25
+ "contrastive": [
26
+ 1.8601206661984562,
27
+ 1.3918586831313733
28
+ ],
29
+ "correct": [
30
+ 0.6632939531399419,
31
+ 0.55859763477557
32
+ ],
33
+ "incorrect": [
34
+ 0.45201984307350823,
35
+ 0.4855721479359145
36
+ ],
37
+ "contrast": [
38
+ 1.9416335886850145,
39
+ 1.1809499480853827
40
+ ],
41
+ "coherence": [
42
+ 0.17106025584933393,
43
+ 0.14298121159698582
44
+ ],
45
+ "separation": [
46
+ 0.016161556452275388,
47
+ 0.022051267393652745
48
+ ],
49
+ "discretization": [
50
+ 0.12655279778716366,
51
+ 0.10626367490208324
52
+ ],
53
+ "total": [
54
+ 1.9504992645769454,
55
+ 1.4699646668693127
56
+ ]
57
+ },
58
+ "scale_accuracies": {
59
+ "512": [
60
+ 77.674,
61
+ 78.108
62
+ ],
63
+ "576": [
64
+ 77.846,
65
+ 78.224
66
+ ],
67
+ "640": [
68
+ 77.72,
69
+ 78.294
70
+ ],
71
+ "704": [
72
+ 77.636,
73
+ 78.222
74
+ ],
75
+ "768": [
76
+ 77.214,
77
+ 78.096
78
+ ],
79
+ "832": [
80
+ 77.274,
81
+ 78.112
82
+ ],
83
+ "896": [
84
+ 77.268,
85
+ 77.504
86
+ ],
87
+ "960": [
88
+ 77.114,
89
+ 77.484
90
+ ],
91
+ "1024": [
92
+ 77.0,
93
+ 76.1
94
+ ]
95
+ },
96
+ "alpha_history": [
97
+ 0.5078181624412537,
98
+ 0.5387266874313354
99
+ ]
100
+ }