metadata
license: mit
tags:
- image-classification
- cifar100
- geometric-learning
- fractal-encoding
- in-training
- no-attention
- no-cross-entropy
datasets:
- cifar100
metrics:
- accuracy
library_name: pytorch
pipeline_tag: image-classification
model-index:
- name: geo-beatrix-step20-feats100
results:
- task:
type: image-classification
name: Image Classification
dataset:
name: CIFAR-100
type: cifar100
metrics:
- type: accuracy
value: 67.43
name: Test Accuracy
verified: false
geo-beatrix-step20-feats100
Geometric Basin Classification for CIFAR-100
π§ Training in Progress π§
Current Status: Epoch 150/200
Current Performance
| Metric | Value |
|---|---|
| Best Test Accuracy | 67.43% |
| Best Epoch | 195 |
| Current Train Accuracy | 73.96% |
| Current Test Accuracy | 66.19% |
| Current Ξ± (Cantor param) | 0.4444 |
| Total Parameters | 46,338,737 |
| Training Time | 0:41:17 |
All Training Runs
| Timestamp | Status | Best Epoch | Test Acc | Train Acc | Ξ± |
|---|---|---|---|---|---|
20251010_025042 |
π | 195 | 67.43% | 73.96% | 0.4444 |
Comparison to State-of-the-Art
| Model | Accuracy | Status |
|---|---|---|
| geo-beatrix (this model) | 67.43% | π Training |
| vit-beatrix-dualstream | 66.0% | Vision Transformer + Cross-Entropy |
| CLIP ViT-L/14 (zero-shot) | ~63-65% | 400M image-text pairs |
| CLIP ViT-B/32 (zero-shot) | ~63.5% | Vision Transformer |
β geo-beatrix has surpassed all baselines!
Architecture
- Base: ResNet-style with residual blocks
- Channels: 64 β 128 β 256 β 512 β 1024
- Positional Encoding: Devil's Staircase (Cantor function, 1883)
- PE Levels: 20
- PE Features/Level: 100
- Classification: Geometric Basin Compatibility (NO cross-entropy)
- Attention Mechanisms: NONE
Training Configuration
{
"model_name": "geo-beatrix-step20-feats100",
"model_type": "geometric_basin_classifier",
"num_classes": 100,
"batch_size": 256,
"num_epochs": 200,
"base_learning_rate": 0.001,
"weight_decay": 0.05,
"warmup_epochs": 10,
"pe_levels": 20,
"pe_features_per_level": 100,
"dropout": 0.1,
"upload_every_n_epochs": 50,
"alphamix": {
"enabled": true,
"range": [
0.3,
0.7
],
"spatial_ratio": 0.25,
"curriculum_start": 0.05,
"curriculum_end": 0.4
},
"architecture": "ResNet-style with Devil's Staircase PE",
"loss_function": "Geometric Basin Compatibility",
"cross_entropy": false,
"attention_mechanisms": false,
"timestamp": "20251010_025042"
}
Files Structure
βββ model.pt (BEST overall model - easy access!)
βββ model.safetensors (BEST overall model - easy access!)
βββ best_model_info.json (which epoch/run this came from)
βββ runs_history.json (all training runs and their results)
βββ README.md
βββ weights/geo-beatrix-step20-feats100/20251010_025042/
β βββ model.pt (best from this training run)
β βββ model.safetensors (best from this training run)
β βββ config.json
β βββ training_log.txt
β βββ checkpoints/
β βββ checkpoint_epoch_10.safetensors
β βββ checkpoint_epoch_20.safetensors
β βββ checkpoint_epoch_30.safetensors
β (snapshots every 50 epochs)
βββ runs/geo-beatrix-step20-feats100/20251010_025042/
βββ events.out.tfevents.* (TensorBoard logs)
βββ metrics.csv (training metrics)
Note: The root model.pt and model.safetensors always contain the best model across all training runs!
Usage
from huggingface_hub import hf_hub_download
import torch
# EASIEST: Download BEST overall model from root (recommended!)
from safetensors.torch import load_file
model_path = hf_hub_download(
repo_id="AbstractPhil/geo-beatrix",
filename="model.safetensors"
)
state_dict = load_file(model_path)
# model.load_state_dict(state_dict)
# Check which epoch/run the best model came from
info_path = hf_hub_download(
repo_id="AbstractPhil/geo-beatrix",
filename="best_model_info.json"
)
with open(info_path) as f:
best_info = json.load(f)
print(f"Best model: epoch {best_info['epoch']}, {best_info['test_accuracy']:.2f}%")
# Or download from specific training run
model_path = hf_hub_download(
repo_id="AbstractPhil/geo-beatrix",
filename="weights/geo-beatrix-step20-feats100/20251010_025042/model.safetensors"
)
# Download specific epoch checkpoint
epoch_checkpoint = hf_hub_download(
repo_id="AbstractPhil/geo-beatrix",
filename="weights/geo-beatrix-step20-feats100/20251010_025042/checkpoints/checkpoint_epoch_100.safetensors"
)
Training History
Best Checkpoint
- Epoch: 195
- Train Acc: 73.96%
- Test Acc: 67.43%
- Alpha: 0.4444
- Loss: 0.0000
Latest 5 Epochs
- Epoch 146: Train 69.94%, Test 0.00%, Ξ±=0.4428, Loss=0.5624
- Epoch 147: Train 74.67%, Test 0.00%, Ξ±=0.4433, Loss=0.5763
- Epoch 148: Train 71.69%, Test 0.00%, Ξ±=0.4430, Loss=0.5626
- Epoch 149: Train 75.45%, Test 0.00%, Ξ±=0.4426, Loss=0.5743
- Epoch 150: Train 73.96%, Test 66.19%, Ξ±=0.4444, Loss=0.5696
Training Milestones
- π― 50% Accuracy reached at epoch 35
- π― 60% Accuracy reached at epoch 65
- π Beat vit-beatrix (66.0%) at epoch 130
- π Ξ± β₯ 0.40 reached at epoch 10
- π Ξ± β₯ 0.44 (near triadic equilibrium) at epoch 105
Innovation
β
NO attention mechanisms
β
NO cross-entropy loss
β
Fractal positional encoding (Cantor function from 1883)
β
Geometric compatibility classification
β
Ancient convolutions (ResNet-style from 1990s)
Repository: https://huggingface.co/AbstractPhil/geo-beatrix
Author: AbstractPhil
Framework: PyTorch