Instructions to use Mattysmittttt/camonet with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Mattysmittttt/camonet with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="Mattysmittttt/camonet") pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")# Load model directly from transformers import AutoImageProcessor, AutoModelForImageClassification processor = AutoImageProcessor.from_pretrained("Mattysmittttt/camonet") model = AutoModelForImageClassification.from_pretrained("Mattysmittttt/camonet", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Initial CamoNet release
Browse files- README.md +164 -0
- checkpoint-581/config.json +134 -0
- checkpoint-581/model.safetensors +3 -0
- checkpoint-581/optimizer.pt +3 -0
- checkpoint-581/rng_state.pth +3 -0
- checkpoint-581/scheduler.pt +3 -0
- checkpoint-581/trainer_state.json +307 -0
- checkpoint-581/training_args.bin +3 -0
- checkpoint-664/config.json +134 -0
- checkpoint-664/model.safetensors +3 -0
- checkpoint-664/optimizer.pt +3 -0
- checkpoint-664/rng_state.pth +3 -0
- checkpoint-664/scheduler.pt +3 -0
- checkpoint-664/trainer_state.json +345 -0
- checkpoint-664/training_args.bin +3 -0
- config.json +134 -0
- model.safetensors +3 -0
- preprocessor_config.json +27 -0
- taxonomy.py +143 -0
- training_args.bin +3 -0
README.md
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
tags:
|
| 6 |
+
- image-classification
|
| 7 |
+
- vision
|
| 8 |
+
- camouflage
|
| 9 |
+
- military
|
| 10 |
+
- osint
|
| 11 |
+
- dinov2
|
| 12 |
+
pipeline_tag: image-classification
|
| 13 |
+
library_name: transformers
|
| 14 |
+
base_model: facebook/dinov2-small
|
| 15 |
+
---
|
| 16 |
+
|
| 17 |
+
# CamoNet
|
| 18 |
+
|
| 19 |
+
A fine-grained military camouflage pattern classifier.
|
| 20 |
+
|
| 21 |
+
Given a photo of a uniform, vehicle, or fabric fragment, CamoNet predicts
|
| 22 |
+
which of **40 historical and contemporary military camouflage patterns** it
|
| 23 |
+
belongs to — along with country of origin, era, and visual family.
|
| 24 |
+
|
| 25 |
+
Built on a fine-tuned **DINOv2** backbone (`facebook/dinov2-small`), chosen
|
| 26 |
+
because its self-supervised ImageNet pre-training learns the kind of dense
|
| 27 |
+
texture features that camouflage classification depends on.
|
| 28 |
+
|
| 29 |
+
## Quick start
|
| 30 |
+
|
| 31 |
+
```python
|
| 32 |
+
from transformers import pipeline
|
| 33 |
+
|
| 34 |
+
clf = pipeline("image-classification", model="Mattysmittttt/camonet")
|
| 35 |
+
clf("path/to/uniform.jpg", top_k=3)
|
| 36 |
+
# [{'label': 'us_marpat_woodland', 'score': 0.91},
|
| 37 |
+
# {'label': 'ca_cadpat_tw', 'score': 0.04},
|
| 38 |
+
# {'label': 'us_aor2', 'score': 0.02}]
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
For richer output (origin, era, family) use the bundled `taxonomy.py`:
|
| 42 |
+
|
| 43 |
+
```python
|
| 44 |
+
from huggingface_hub import hf_hub_download
|
| 45 |
+
import importlib.util, sys
|
| 46 |
+
|
| 47 |
+
path = hf_hub_download("Mattysmittttt/camonet", "taxonomy.py")
|
| 48 |
+
spec = importlib.util.spec_from_file_location("camonet_tax", path)
|
| 49 |
+
tax = importlib.util.module_from_spec(spec); spec.loader.exec_module(tax)
|
| 50 |
+
|
| 51 |
+
print(tax.PATTERN_BY_ID["us_marpat_woodland"])
|
| 52 |
+
# Pattern(id='us_marpat_woodland', name='MARPAT Woodland',
|
| 53 |
+
# origin='USMC', era='2002-present', family='digital', notes=...)
|
| 54 |
+
```
|
| 55 |
+
|
| 56 |
+
## Pattern coverage (40 classes)
|
| 57 |
+
|
| 58 |
+
| Family | Count | Examples |
|
| 59 |
+
| ------------- | ----- | --------------------------------------------------------- |
|
| 60 |
+
| digital | 10 | MARPAT, CADPAT, UCP, EMR Digital Flora, Type 07, ROK Granite |
|
| 61 |
+
| blob | 8 | Flecktarn, AUSCAM, M90, TAZ 90, JGSDF, TTsKO, M75, Splittertarn |
|
| 62 |
+
| desert | 7 | Chocolate Chip, DCU 3-Color, AOR1, DPM Desert, Tropentarn |
|
| 63 |
+
| multi-terrain | 6 | MultiCam, OCP Scorpion W2, MTP, AMCU, Partizan, Kryptek Mandrake |
|
| 64 |
+
| woodland | 4 | M81 Woodland, ERDL, French CCE, Italian Vegetata |
|
| 65 |
+
| brushstroke | 4 | Tiger Stripe, DPM Woodland, KLMK, VSR-93 Flora |
|
| 66 |
+
| arid | 1 | A-TACS AU |
|
| 67 |
+
|
| 68 |
+
Full taxonomy with origin and era for each pattern lives in `taxonomy.py`.
|
| 69 |
+
|
| 70 |
+
## Intended uses
|
| 71 |
+
|
| 72 |
+
- **OSINT & journalism** — assist analysts in identifying camouflage patterns
|
| 73 |
+
in conflict imagery, photographs, and footage.
|
| 74 |
+
- **Museum & archival cataloguing** — auto-tag uniform collections.
|
| 75 |
+
- **Milsurp & collector tooling** — identify unknown patterns from photographs.
|
| 76 |
+
- **Airsoft, milsim, reenactment** — kit verification.
|
| 77 |
+
- **Educational / reference** — interactive teaching tool for military history.
|
| 78 |
+
|
| 79 |
+
## Limitations & out-of-scope use
|
| 80 |
+
|
| 81 |
+
- **Heavily worn, faded, or damaged fabric** drifts predictions toward visually
|
| 82 |
+
adjacent patterns. Treat low-confidence outputs as such.
|
| 83 |
+
- **Many real-world patterns share design DNA** (MARPAT ↔ AOR1/2 ↔ CADPAT).
|
| 84 |
+
A top-3 read is more honest than top-1 in those cases.
|
| 85 |
+
- **The model has not been trained on every pattern in existence** — it covers
|
| 86 |
+
~40 of the most widely-issued. Out-of-distribution patterns will be forced
|
| 87 |
+
into the closest learned class.
|
| 88 |
+
- **Not a person/face/identity classifier.** It looks at fabric, not faces.
|
| 89 |
+
- **Not a substitute for expert authentication** of historical garments.
|
| 90 |
+
|
| 91 |
+
## Training data
|
| 92 |
+
|
| 93 |
+
Composed from public web sources:
|
| 94 |
+
- eBay militaria listings (clean product photography, well-labeled)
|
| 95 |
+
- Reddit r/camo, r/Militariacollecting, r/milsurp (in-the-wild photos)
|
| 96 |
+
- Hand-curated reference plates per pattern
|
| 97 |
+
|
| 98 |
+
Actual scale used for this checkpoint: 3,080 labeled images across 40 patterns
|
| 99 |
+
(≈77 per pattern average; min 14, max 137), stratified 85/15 train/val
|
| 100 |
+
(2,635 train / 445 val).
|
| 101 |
+
|
| 102 |
+
The dataset is **not redistributed** — only the trained weights are. The
|
| 103 |
+
scrape pipeline is included in the source repo so the dataset is reproducible.
|
| 104 |
+
|
| 105 |
+
## Training details
|
| 106 |
+
|
| 107 |
+
| Hyperparameter | Value |
|
| 108 |
+
| ---------------- | -------------------- |
|
| 109 |
+
| Backbone | `facebook/dinov2-small` (22M params) |
|
| 110 |
+
| Image size | 224×224 |
|
| 111 |
+
| Optimizer | AdamW |
|
| 112 |
+
| Learning rate | 5e-5, cosine, 10% warmup |
|
| 113 |
+
| Weight decay | 0.05 |
|
| 114 |
+
| Batch size | 32 |
|
| 115 |
+
| Epochs | 8 (best checkpoint by top-1) |
|
| 116 |
+
| Augmentation | resize+crop, hflip, ±10° rotation, light blur (no colour jitter — colour matters for camo) |
|
| 117 |
+
| Precision | fp32 (Apple Silicon MPS) |
|
| 118 |
+
|
| 119 |
+
## Evaluation
|
| 120 |
+
|
| 121 |
+
Reported on the held-out 15% validation split (445 images, 40 classes):
|
| 122 |
+
|
| 123 |
+
| Metric | Score |
|
| 124 |
+
| ------- | ------ |
|
| 125 |
+
| Top-1 | 0.7371 |
|
| 126 |
+
| Top-3 | 0.8652 |
|
| 127 |
+
|
| 128 |
+
Per-class confusion analysis is in `eval/confusion.png` once you run
|
| 129 |
+
`scripts/evaluate.py`.
|
| 130 |
+
|
| 131 |
+
## Bias, risks, ethical considerations
|
| 132 |
+
|
| 133 |
+
CamoNet identifies **fabric patterns**, not people, faces, vehicles as units,
|
| 134 |
+
or military formations. Its outputs are about textile design.
|
| 135 |
+
|
| 136 |
+
Camouflage classification is well-established public knowledge — pattern
|
| 137 |
+
catalogues like Camopedia have been freely available for over a decade, and
|
| 138 |
+
the patterns themselves are visible in countless public photographs, parades,
|
| 139 |
+
news coverage, and museum exhibits. The model does not provide capabilities
|
| 140 |
+
beyond what an attentive observer with reference material could already do.
|
| 141 |
+
|
| 142 |
+
That said, downstream use sits in the OSINT space, where claims based on a
|
| 143 |
+
single image carry real-world consequences. Users should:
|
| 144 |
+
- Treat predictions as **one signal among many**, not authoritative ID.
|
| 145 |
+
- Surface confidence scores, not just top-1 labels.
|
| 146 |
+
- Avoid using the model to make claims about individual identity, unit
|
| 147 |
+
attribution, or operational intent.
|
| 148 |
+
|
| 149 |
+
## Citation
|
| 150 |
+
|
| 151 |
+
```bibtex
|
| 152 |
+
@misc{camonet2026,
|
| 153 |
+
title = {CamoNet: Fine-Grained Military Camouflage Pattern Classification},
|
| 154 |
+
author = {Smith, Matt},
|
| 155 |
+
year = {2026},
|
| 156 |
+
url = {https://huggingface.co/Mattysmittttt/camonet}
|
| 157 |
+
}
|
| 158 |
+
```
|
| 159 |
+
|
| 160 |
+
## License
|
| 161 |
+
|
| 162 |
+
Apache-2.0 for the model weights and code.
|
| 163 |
+
|
| 164 |
+
Built on `facebook/dinov2-base` (Apache-2.0).
|
checkpoint-581/config.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"apply_layernorm": true,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"Dinov2ForImageClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.0,
|
| 7 |
+
"drop_path_rate": 0.0,
|
| 8 |
+
"dtype": "float32",
|
| 9 |
+
"hidden_act": "gelu",
|
| 10 |
+
"hidden_dropout_prob": 0.0,
|
| 11 |
+
"hidden_size": 384,
|
| 12 |
+
"id2label": {
|
| 13 |
+
"0": "us_erdl",
|
| 14 |
+
"1": "us_m81_woodland",
|
| 15 |
+
"2": "us_dcu_chocolate_chip",
|
| 16 |
+
"3": "us_dcu_3color",
|
| 17 |
+
"4": "us_marpat_woodland",
|
| 18 |
+
"5": "us_marpat_desert",
|
| 19 |
+
"6": "us_ucp",
|
| 20 |
+
"7": "us_multicam",
|
| 21 |
+
"8": "us_ocp_scorpion",
|
| 22 |
+
"9": "us_aor1",
|
| 23 |
+
"10": "us_aor2",
|
| 24 |
+
"11": "us_tigerstripe",
|
| 25 |
+
"12": "uk_dpm_woodland",
|
| 26 |
+
"13": "uk_dpm_desert",
|
| 27 |
+
"14": "uk_mtp",
|
| 28 |
+
"15": "de_flecktarn",
|
| 29 |
+
"16": "de_tropentarn",
|
| 30 |
+
"17": "de_splittertarn",
|
| 31 |
+
"18": "ru_klmk",
|
| 32 |
+
"19": "ru_ttsko",
|
| 33 |
+
"20": "ru_vsr_93",
|
| 34 |
+
"21": "ru_emr_digital_flora",
|
| 35 |
+
"22": "ru_surpat",
|
| 36 |
+
"23": "ru_partizan",
|
| 37 |
+
"24": "ca_cadpat_tw",
|
| 38 |
+
"25": "ca_cadpat_ar",
|
| 39 |
+
"26": "fr_cce",
|
| 40 |
+
"27": "fr_daguet",
|
| 41 |
+
"28": "it_vegetata",
|
| 42 |
+
"29": "au_auscam",
|
| 43 |
+
"30": "au_amcu",
|
| 44 |
+
"31": "se_m90",
|
| 45 |
+
"32": "ch_taz_90",
|
| 46 |
+
"33": "no_m75",
|
| 47 |
+
"34": "cn_type07_universal",
|
| 48 |
+
"35": "cn_type07_desert",
|
| 49 |
+
"36": "kr_granite",
|
| 50 |
+
"37": "jp_jgsdf",
|
| 51 |
+
"38": "commercial_kryptek_mandrake",
|
| 52 |
+
"39": "commercial_atacs_au"
|
| 53 |
+
},
|
| 54 |
+
"image_size": 518,
|
| 55 |
+
"initializer_range": 0.02,
|
| 56 |
+
"label2id": {
|
| 57 |
+
"au_amcu": 30,
|
| 58 |
+
"au_auscam": 29,
|
| 59 |
+
"ca_cadpat_ar": 25,
|
| 60 |
+
"ca_cadpat_tw": 24,
|
| 61 |
+
"ch_taz_90": 32,
|
| 62 |
+
"cn_type07_desert": 35,
|
| 63 |
+
"cn_type07_universal": 34,
|
| 64 |
+
"commercial_atacs_au": 39,
|
| 65 |
+
"commercial_kryptek_mandrake": 38,
|
| 66 |
+
"de_flecktarn": 15,
|
| 67 |
+
"de_splittertarn": 17,
|
| 68 |
+
"de_tropentarn": 16,
|
| 69 |
+
"fr_cce": 26,
|
| 70 |
+
"fr_daguet": 27,
|
| 71 |
+
"it_vegetata": 28,
|
| 72 |
+
"jp_jgsdf": 37,
|
| 73 |
+
"kr_granite": 36,
|
| 74 |
+
"no_m75": 33,
|
| 75 |
+
"ru_emr_digital_flora": 21,
|
| 76 |
+
"ru_klmk": 18,
|
| 77 |
+
"ru_partizan": 23,
|
| 78 |
+
"ru_surpat": 22,
|
| 79 |
+
"ru_ttsko": 19,
|
| 80 |
+
"ru_vsr_93": 20,
|
| 81 |
+
"se_m90": 31,
|
| 82 |
+
"uk_dpm_desert": 13,
|
| 83 |
+
"uk_dpm_woodland": 12,
|
| 84 |
+
"uk_mtp": 14,
|
| 85 |
+
"us_aor1": 9,
|
| 86 |
+
"us_aor2": 10,
|
| 87 |
+
"us_dcu_3color": 3,
|
| 88 |
+
"us_dcu_chocolate_chip": 2,
|
| 89 |
+
"us_erdl": 0,
|
| 90 |
+
"us_m81_woodland": 1,
|
| 91 |
+
"us_marpat_desert": 5,
|
| 92 |
+
"us_marpat_woodland": 4,
|
| 93 |
+
"us_multicam": 7,
|
| 94 |
+
"us_ocp_scorpion": 8,
|
| 95 |
+
"us_tigerstripe": 11,
|
| 96 |
+
"us_ucp": 6
|
| 97 |
+
},
|
| 98 |
+
"layer_norm_eps": 1e-06,
|
| 99 |
+
"layerscale_value": 1.0,
|
| 100 |
+
"mlp_ratio": 4,
|
| 101 |
+
"model_type": "dinov2",
|
| 102 |
+
"num_attention_heads": 6,
|
| 103 |
+
"num_channels": 3,
|
| 104 |
+
"num_hidden_layers": 12,
|
| 105 |
+
"out_features": [
|
| 106 |
+
"stage12"
|
| 107 |
+
],
|
| 108 |
+
"out_indices": [
|
| 109 |
+
12
|
| 110 |
+
],
|
| 111 |
+
"patch_size": 14,
|
| 112 |
+
"problem_type": "single_label_classification",
|
| 113 |
+
"qkv_bias": true,
|
| 114 |
+
"reshape_hidden_states": true,
|
| 115 |
+
"stage_names": [
|
| 116 |
+
"stem",
|
| 117 |
+
"stage1",
|
| 118 |
+
"stage2",
|
| 119 |
+
"stage3",
|
| 120 |
+
"stage4",
|
| 121 |
+
"stage5",
|
| 122 |
+
"stage6",
|
| 123 |
+
"stage7",
|
| 124 |
+
"stage8",
|
| 125 |
+
"stage9",
|
| 126 |
+
"stage10",
|
| 127 |
+
"stage11",
|
| 128 |
+
"stage12"
|
| 129 |
+
],
|
| 130 |
+
"transformers_version": "5.7.0",
|
| 131 |
+
"use_cache": false,
|
| 132 |
+
"use_mask_token": true,
|
| 133 |
+
"use_swiglu_ffn": false
|
| 134 |
+
}
|
checkpoint-581/model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e70c3561255a6355fb8b3f2bf9f1908dc6f0ffe450a79fc7d9de81ef48dcbd05
|
| 3 |
+
size 88374736
|
checkpoint-581/optimizer.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6c530284e3d9d25bc8c2a0cdb085de1f36b99f3bc1de3f53881f0e6bd631ec2a
|
| 3 |
+
size 176876939
|
checkpoint-581/rng_state.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f13fa096c82c4698939c19f78b0766bd5c2a2142c49acdf650aabfa34b99d7f1
|
| 3 |
+
size 14455
|
checkpoint-581/scheduler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2b31335693ae80680c90999bc6cfab87b4543a49278f1c79cd67beaba0cc4cd1
|
| 3 |
+
size 1465
|
checkpoint-581/trainer_state.json
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"best_global_step": 581,
|
| 3 |
+
"best_metric": 0.7325842696629213,
|
| 4 |
+
"best_model_checkpoint": "checkpoints/camonet/checkpoint-581",
|
| 5 |
+
"epoch": 7.0,
|
| 6 |
+
"eval_steps": 500,
|
| 7 |
+
"global_step": 581,
|
| 8 |
+
"is_hyper_param_search": false,
|
| 9 |
+
"is_local_process_zero": true,
|
| 10 |
+
"is_world_process_zero": true,
|
| 11 |
+
"log_history": [
|
| 12 |
+
{
|
| 13 |
+
"epoch": 0.24096385542168675,
|
| 14 |
+
"grad_norm": 111.35398864746094,
|
| 15 |
+
"learning_rate": 1.417910447761194e-05,
|
| 16 |
+
"loss": 4.043815612792969,
|
| 17 |
+
"step": 20
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"epoch": 0.4819277108433735,
|
| 21 |
+
"grad_norm": 71.05435943603516,
|
| 22 |
+
"learning_rate": 2.91044776119403e-05,
|
| 23 |
+
"loss": 3.5163707733154297,
|
| 24 |
+
"step": 40
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"epoch": 0.7228915662650602,
|
| 28 |
+
"grad_norm": 60.80617141723633,
|
| 29 |
+
"learning_rate": 4.402985074626866e-05,
|
| 30 |
+
"loss": 3.0165132522583007,
|
| 31 |
+
"step": 60
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"epoch": 0.963855421686747,
|
| 35 |
+
"grad_norm": 64.55865478515625,
|
| 36 |
+
"learning_rate": 4.9950171333287335e-05,
|
| 37 |
+
"loss": 2.4458030700683593,
|
| 38 |
+
"step": 80
|
| 39 |
+
},
|
| 40 |
+
{
|
| 41 |
+
"epoch": 1.0,
|
| 42 |
+
"eval_loss": 2.536519765853882,
|
| 43 |
+
"eval_runtime": 6.8652,
|
| 44 |
+
"eval_samples_per_second": 64.82,
|
| 45 |
+
"eval_steps_per_second": 2.039,
|
| 46 |
+
"eval_top1": 0.3325842696629214,
|
| 47 |
+
"eval_top3": 0.5438202247191011,
|
| 48 |
+
"step": 83
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"epoch": 1.2048192771084336,
|
| 52 |
+
"grad_norm": 60.52080535888672,
|
| 53 |
+
"learning_rate": 4.964638184169378e-05,
|
| 54 |
+
"loss": 2.153371238708496,
|
| 55 |
+
"step": 100
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"epoch": 1.4457831325301205,
|
| 59 |
+
"grad_norm": 70.68125915527344,
|
| 60 |
+
"learning_rate": 4.906984324751821e-05,
|
| 61 |
+
"loss": 1.828770637512207,
|
| 62 |
+
"step": 120
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"epoch": 1.6867469879518073,
|
| 66 |
+
"grad_norm": 60.982425689697266,
|
| 67 |
+
"learning_rate": 4.822693581319326e-05,
|
| 68 |
+
"loss": 1.7083017349243164,
|
| 69 |
+
"step": 140
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"epoch": 1.927710843373494,
|
| 73 |
+
"grad_norm": 58.39655303955078,
|
| 74 |
+
"learning_rate": 4.712698757103414e-05,
|
| 75 |
+
"loss": 1.712203025817871,
|
| 76 |
+
"step": 160
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"epoch": 2.0,
|
| 80 |
+
"eval_loss": 1.7305916547775269,
|
| 81 |
+
"eval_runtime": 7.5482,
|
| 82 |
+
"eval_samples_per_second": 58.954,
|
| 83 |
+
"eval_steps_per_second": 1.855,
|
| 84 |
+
"eval_top1": 0.5415730337078651,
|
| 85 |
+
"eval_top3": 0.7146067415730337,
|
| 86 |
+
"step": 166
|
| 87 |
+
},
|
| 88 |
+
{
|
| 89 |
+
"epoch": 2.1686746987951806,
|
| 90 |
+
"grad_norm": 60.08979415893555,
|
| 91 |
+
"learning_rate": 4.5782171094600005e-05,
|
| 92 |
+
"loss": 1.3887232780456542,
|
| 93 |
+
"step": 180
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"epoch": 2.4096385542168672,
|
| 97 |
+
"grad_norm": 64.29576873779297,
|
| 98 |
+
"learning_rate": 4.420736879094927e-05,
|
| 99 |
+
"loss": 1.3437091827392578,
|
| 100 |
+
"step": 200
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"epoch": 2.6506024096385543,
|
| 104 |
+
"grad_norm": 62.950355529785156,
|
| 105 |
+
"learning_rate": 4.242000820453141e-05,
|
| 106 |
+
"loss": 1.139847469329834,
|
| 107 |
+
"step": 220
|
| 108 |
+
},
|
| 109 |
+
{
|
| 110 |
+
"epoch": 2.891566265060241,
|
| 111 |
+
"grad_norm": 43.11043167114258,
|
| 112 |
+
"learning_rate": 4.043986915532434e-05,
|
| 113 |
+
"loss": 1.2316542625427247,
|
| 114 |
+
"step": 240
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"epoch": 3.0,
|
| 118 |
+
"eval_loss": 1.4789479970932007,
|
| 119 |
+
"eval_runtime": 7.5421,
|
| 120 |
+
"eval_samples_per_second": 59.002,
|
| 121 |
+
"eval_steps_per_second": 1.856,
|
| 122 |
+
"eval_top1": 0.6269662921348315,
|
| 123 |
+
"eval_top3": 0.7842696629213484,
|
| 124 |
+
"step": 249
|
| 125 |
+
},
|
| 126 |
+
{
|
| 127 |
+
"epoch": 3.1325301204819276,
|
| 128 |
+
"grad_norm": 66.58777618408203,
|
| 129 |
+
"learning_rate": 3.828886484552254e-05,
|
| 130 |
+
"loss": 1.033012580871582,
|
| 131 |
+
"step": 260
|
| 132 |
+
},
|
| 133 |
+
{
|
| 134 |
+
"epoch": 3.3734939759036147,
|
| 135 |
+
"grad_norm": 53.87052536010742,
|
| 136 |
+
"learning_rate": 3.5990799357157864e-05,
|
| 137 |
+
"loss": 0.8578171730041504,
|
| 138 |
+
"step": 280
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"epoch": 3.6144578313253013,
|
| 142 |
+
"grad_norm": 72.20587921142578,
|
| 143 |
+
"learning_rate": 3.357110422430506e-05,
|
| 144 |
+
"loss": 0.8009697914123535,
|
| 145 |
+
"step": 300
|
| 146 |
+
},
|
| 147 |
+
{
|
| 148 |
+
"epoch": 3.855421686746988,
|
| 149 |
+
"grad_norm": 47.637420654296875,
|
| 150 |
+
"learning_rate": 3.105655699509458e-05,
|
| 151 |
+
"loss": 0.8424944877624512,
|
| 152 |
+
"step": 320
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"epoch": 4.0,
|
| 156 |
+
"eval_loss": 1.3673882484436035,
|
| 157 |
+
"eval_runtime": 8.6387,
|
| 158 |
+
"eval_samples_per_second": 51.512,
|
| 159 |
+
"eval_steps_per_second": 1.621,
|
| 160 |
+
"eval_top1": 0.6202247191011236,
|
| 161 |
+
"eval_top3": 0.8112359550561797,
|
| 162 |
+
"step": 332
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"epoch": 4.096385542168675,
|
| 166 |
+
"grad_norm": 44.70951461791992,
|
| 167 |
+
"learning_rate": 2.8474984898065406e-05,
|
| 168 |
+
"loss": 0.7181183815002441,
|
| 169 |
+
"step": 340
|
| 170 |
+
},
|
| 171 |
+
{
|
| 172 |
+
"epoch": 4.337349397590361,
|
| 173 |
+
"grad_norm": 40.632354736328125,
|
| 174 |
+
"learning_rate": 2.5854956892233006e-05,
|
| 175 |
+
"loss": 0.6570661544799805,
|
| 176 |
+
"step": 360
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"epoch": 4.578313253012048,
|
| 180 |
+
"grad_norm": 41.45029067993164,
|
| 181 |
+
"learning_rate": 2.32254675087996e-05,
|
| 182 |
+
"loss": 0.5137750148773194,
|
| 183 |
+
"step": 380
|
| 184 |
+
},
|
| 185 |
+
{
|
| 186 |
+
"epoch": 4.8192771084337345,
|
| 187 |
+
"grad_norm": 53.68215560913086,
|
| 188 |
+
"learning_rate": 2.061561598327112e-05,
|
| 189 |
+
"loss": 0.5405148029327392,
|
| 190 |
+
"step": 400
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"epoch": 5.0,
|
| 194 |
+
"eval_loss": 1.1706817150115967,
|
| 195 |
+
"eval_runtime": 8.8354,
|
| 196 |
+
"eval_samples_per_second": 50.365,
|
| 197 |
+
"eval_steps_per_second": 1.585,
|
| 198 |
+
"eval_top1": 0.6831460674157304,
|
| 199 |
+
"eval_top3": 0.849438202247191,
|
| 200 |
+
"step": 415
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"epoch": 5.0602409638554215,
|
| 204 |
+
"grad_norm": 75.12175750732422,
|
| 205 |
+
"learning_rate": 1.8054284228864366e-05,
|
| 206 |
+
"loss": 0.49901180267333983,
|
| 207 |
+
"step": 420
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"epoch": 5.301204819277109,
|
| 211 |
+
"grad_norm": 18.631591796875,
|
| 212 |
+
"learning_rate": 1.55698172149106e-05,
|
| 213 |
+
"loss": 0.29165282249450686,
|
| 214 |
+
"step": 440
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"epoch": 5.542168674698795,
|
| 218 |
+
"grad_norm": 10.731932640075684,
|
| 219 |
+
"learning_rate": 1.3189709287346813e-05,
|
| 220 |
+
"loss": 0.3043174982070923,
|
| 221 |
+
"step": 460
|
| 222 |
+
},
|
| 223 |
+
{
|
| 224 |
+
"epoch": 5.783132530120482,
|
| 225 |
+
"grad_norm": 47.11884689331055,
|
| 226 |
+
"learning_rate": 1.0940299902627938e-05,
|
| 227 |
+
"loss": 0.41364297866821287,
|
| 228 |
+
"step": 480
|
| 229 |
+
},
|
| 230 |
+
{
|
| 231 |
+
"epoch": 6.0,
|
| 232 |
+
"eval_loss": 1.1097288131713867,
|
| 233 |
+
"eval_runtime": 8.2234,
|
| 234 |
+
"eval_samples_per_second": 54.114,
|
| 235 |
+
"eval_steps_per_second": 1.702,
|
| 236 |
+
"eval_top1": 0.7258426966292135,
|
| 237 |
+
"eval_top3": 0.8674157303370786,
|
| 238 |
+
"step": 498
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"epoch": 6.024096385542169,
|
| 242 |
+
"grad_norm": 20.367740631103516,
|
| 243 |
+
"learning_rate": 8.846482142219752e-06,
|
| 244 |
+
"loss": 0.34232077598571775,
|
| 245 |
+
"step": 500
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"epoch": 6.265060240963855,
|
| 249 |
+
"grad_norm": 29.076051712036133,
|
| 250 |
+
"learning_rate": 6.931427233395696e-06,
|
| 251 |
+
"loss": 0.18118011951446533,
|
| 252 |
+
"step": 520
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"epoch": 6.506024096385542,
|
| 256 |
+
"grad_norm": 21.859106063842773,
|
| 257 |
+
"learning_rate": 5.21632812492738e-06,
|
| 258 |
+
"loss": 0.204935622215271,
|
| 259 |
+
"step": 540
|
| 260 |
+
},
|
| 261 |
+
{
|
| 262 |
+
"epoch": 6.746987951807229,
|
| 263 |
+
"grad_norm": 24.722841262817383,
|
| 264 |
+
"learning_rate": 3.7201649553876366e-06,
|
| 265 |
+
"loss": 0.21130716800689697,
|
| 266 |
+
"step": 560
|
| 267 |
+
},
|
| 268 |
+
{
|
| 269 |
+
"epoch": 6.9879518072289155,
|
| 270 |
+
"grad_norm": 27.248981475830078,
|
| 271 |
+
"learning_rate": 2.4594950095101513e-06,
|
| 272 |
+
"loss": 0.2202404260635376,
|
| 273 |
+
"step": 580
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"epoch": 7.0,
|
| 277 |
+
"eval_loss": 1.105672001838684,
|
| 278 |
+
"eval_runtime": 8.1718,
|
| 279 |
+
"eval_samples_per_second": 54.455,
|
| 280 |
+
"eval_steps_per_second": 1.713,
|
| 281 |
+
"eval_top1": 0.7325842696629213,
|
| 282 |
+
"eval_top3": 0.8741573033707866,
|
| 283 |
+
"step": 581
|
| 284 |
+
}
|
| 285 |
+
],
|
| 286 |
+
"logging_steps": 20,
|
| 287 |
+
"max_steps": 664,
|
| 288 |
+
"num_input_tokens_seen": 0,
|
| 289 |
+
"num_train_epochs": 8,
|
| 290 |
+
"save_steps": 500,
|
| 291 |
+
"stateful_callbacks": {
|
| 292 |
+
"TrainerControl": {
|
| 293 |
+
"args": {
|
| 294 |
+
"should_epoch_stop": false,
|
| 295 |
+
"should_evaluate": false,
|
| 296 |
+
"should_log": false,
|
| 297 |
+
"should_save": true,
|
| 298 |
+
"should_training_stop": false
|
| 299 |
+
},
|
| 300 |
+
"attributes": {}
|
| 301 |
+
}
|
| 302 |
+
},
|
| 303 |
+
"total_flos": 4.8058967165239296e+17,
|
| 304 |
+
"train_batch_size": 32,
|
| 305 |
+
"trial_name": null,
|
| 306 |
+
"trial_params": null
|
| 307 |
+
}
|
checkpoint-581/training_args.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6afabf8f636fefd143058269d2e6c5383477744d5a9e8c2dc666c57c59670119
|
| 3 |
+
size 5265
|
checkpoint-664/config.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"apply_layernorm": true,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"Dinov2ForImageClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.0,
|
| 7 |
+
"drop_path_rate": 0.0,
|
| 8 |
+
"dtype": "float32",
|
| 9 |
+
"hidden_act": "gelu",
|
| 10 |
+
"hidden_dropout_prob": 0.0,
|
| 11 |
+
"hidden_size": 384,
|
| 12 |
+
"id2label": {
|
| 13 |
+
"0": "us_erdl",
|
| 14 |
+
"1": "us_m81_woodland",
|
| 15 |
+
"2": "us_dcu_chocolate_chip",
|
| 16 |
+
"3": "us_dcu_3color",
|
| 17 |
+
"4": "us_marpat_woodland",
|
| 18 |
+
"5": "us_marpat_desert",
|
| 19 |
+
"6": "us_ucp",
|
| 20 |
+
"7": "us_multicam",
|
| 21 |
+
"8": "us_ocp_scorpion",
|
| 22 |
+
"9": "us_aor1",
|
| 23 |
+
"10": "us_aor2",
|
| 24 |
+
"11": "us_tigerstripe",
|
| 25 |
+
"12": "uk_dpm_woodland",
|
| 26 |
+
"13": "uk_dpm_desert",
|
| 27 |
+
"14": "uk_mtp",
|
| 28 |
+
"15": "de_flecktarn",
|
| 29 |
+
"16": "de_tropentarn",
|
| 30 |
+
"17": "de_splittertarn",
|
| 31 |
+
"18": "ru_klmk",
|
| 32 |
+
"19": "ru_ttsko",
|
| 33 |
+
"20": "ru_vsr_93",
|
| 34 |
+
"21": "ru_emr_digital_flora",
|
| 35 |
+
"22": "ru_surpat",
|
| 36 |
+
"23": "ru_partizan",
|
| 37 |
+
"24": "ca_cadpat_tw",
|
| 38 |
+
"25": "ca_cadpat_ar",
|
| 39 |
+
"26": "fr_cce",
|
| 40 |
+
"27": "fr_daguet",
|
| 41 |
+
"28": "it_vegetata",
|
| 42 |
+
"29": "au_auscam",
|
| 43 |
+
"30": "au_amcu",
|
| 44 |
+
"31": "se_m90",
|
| 45 |
+
"32": "ch_taz_90",
|
| 46 |
+
"33": "no_m75",
|
| 47 |
+
"34": "cn_type07_universal",
|
| 48 |
+
"35": "cn_type07_desert",
|
| 49 |
+
"36": "kr_granite",
|
| 50 |
+
"37": "jp_jgsdf",
|
| 51 |
+
"38": "commercial_kryptek_mandrake",
|
| 52 |
+
"39": "commercial_atacs_au"
|
| 53 |
+
},
|
| 54 |
+
"image_size": 518,
|
| 55 |
+
"initializer_range": 0.02,
|
| 56 |
+
"label2id": {
|
| 57 |
+
"au_amcu": 30,
|
| 58 |
+
"au_auscam": 29,
|
| 59 |
+
"ca_cadpat_ar": 25,
|
| 60 |
+
"ca_cadpat_tw": 24,
|
| 61 |
+
"ch_taz_90": 32,
|
| 62 |
+
"cn_type07_desert": 35,
|
| 63 |
+
"cn_type07_universal": 34,
|
| 64 |
+
"commercial_atacs_au": 39,
|
| 65 |
+
"commercial_kryptek_mandrake": 38,
|
| 66 |
+
"de_flecktarn": 15,
|
| 67 |
+
"de_splittertarn": 17,
|
| 68 |
+
"de_tropentarn": 16,
|
| 69 |
+
"fr_cce": 26,
|
| 70 |
+
"fr_daguet": 27,
|
| 71 |
+
"it_vegetata": 28,
|
| 72 |
+
"jp_jgsdf": 37,
|
| 73 |
+
"kr_granite": 36,
|
| 74 |
+
"no_m75": 33,
|
| 75 |
+
"ru_emr_digital_flora": 21,
|
| 76 |
+
"ru_klmk": 18,
|
| 77 |
+
"ru_partizan": 23,
|
| 78 |
+
"ru_surpat": 22,
|
| 79 |
+
"ru_ttsko": 19,
|
| 80 |
+
"ru_vsr_93": 20,
|
| 81 |
+
"se_m90": 31,
|
| 82 |
+
"uk_dpm_desert": 13,
|
| 83 |
+
"uk_dpm_woodland": 12,
|
| 84 |
+
"uk_mtp": 14,
|
| 85 |
+
"us_aor1": 9,
|
| 86 |
+
"us_aor2": 10,
|
| 87 |
+
"us_dcu_3color": 3,
|
| 88 |
+
"us_dcu_chocolate_chip": 2,
|
| 89 |
+
"us_erdl": 0,
|
| 90 |
+
"us_m81_woodland": 1,
|
| 91 |
+
"us_marpat_desert": 5,
|
| 92 |
+
"us_marpat_woodland": 4,
|
| 93 |
+
"us_multicam": 7,
|
| 94 |
+
"us_ocp_scorpion": 8,
|
| 95 |
+
"us_tigerstripe": 11,
|
| 96 |
+
"us_ucp": 6
|
| 97 |
+
},
|
| 98 |
+
"layer_norm_eps": 1e-06,
|
| 99 |
+
"layerscale_value": 1.0,
|
| 100 |
+
"mlp_ratio": 4,
|
| 101 |
+
"model_type": "dinov2",
|
| 102 |
+
"num_attention_heads": 6,
|
| 103 |
+
"num_channels": 3,
|
| 104 |
+
"num_hidden_layers": 12,
|
| 105 |
+
"out_features": [
|
| 106 |
+
"stage12"
|
| 107 |
+
],
|
| 108 |
+
"out_indices": [
|
| 109 |
+
12
|
| 110 |
+
],
|
| 111 |
+
"patch_size": 14,
|
| 112 |
+
"problem_type": "single_label_classification",
|
| 113 |
+
"qkv_bias": true,
|
| 114 |
+
"reshape_hidden_states": true,
|
| 115 |
+
"stage_names": [
|
| 116 |
+
"stem",
|
| 117 |
+
"stage1",
|
| 118 |
+
"stage2",
|
| 119 |
+
"stage3",
|
| 120 |
+
"stage4",
|
| 121 |
+
"stage5",
|
| 122 |
+
"stage6",
|
| 123 |
+
"stage7",
|
| 124 |
+
"stage8",
|
| 125 |
+
"stage9",
|
| 126 |
+
"stage10",
|
| 127 |
+
"stage11",
|
| 128 |
+
"stage12"
|
| 129 |
+
],
|
| 130 |
+
"transformers_version": "5.7.0",
|
| 131 |
+
"use_cache": false,
|
| 132 |
+
"use_mask_token": true,
|
| 133 |
+
"use_swiglu_ffn": false
|
| 134 |
+
}
|
checkpoint-664/model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f031d15334bc1698fb596012bd81714f63fd681fd59d5449676adf48a646df9c
|
| 3 |
+
size 88374736
|
checkpoint-664/optimizer.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d99fa38e87af5a5e19017039c16471f4028218b821accf34340609cfffa0cf3d
|
| 3 |
+
size 176876939
|
checkpoint-664/rng_state.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b46fdb450f07235e10b0a3cbfc22c5b992fc3bc85e2c60f4f801ecd647891c56
|
| 3 |
+
size 14455
|
checkpoint-664/scheduler.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8c0cbb77a8e8b419fe10a81523c74c9579f72bbd02dec4c9d361e0562468c717
|
| 3 |
+
size 1465
|
checkpoint-664/trainer_state.json
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"best_global_step": 664,
|
| 3 |
+
"best_metric": 0.7370786516853932,
|
| 4 |
+
"best_model_checkpoint": "checkpoints/camonet/checkpoint-664",
|
| 5 |
+
"epoch": 8.0,
|
| 6 |
+
"eval_steps": 500,
|
| 7 |
+
"global_step": 664,
|
| 8 |
+
"is_hyper_param_search": false,
|
| 9 |
+
"is_local_process_zero": true,
|
| 10 |
+
"is_world_process_zero": true,
|
| 11 |
+
"log_history": [
|
| 12 |
+
{
|
| 13 |
+
"epoch": 0.24096385542168675,
|
| 14 |
+
"grad_norm": 111.35398864746094,
|
| 15 |
+
"learning_rate": 1.417910447761194e-05,
|
| 16 |
+
"loss": 4.043815612792969,
|
| 17 |
+
"step": 20
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"epoch": 0.4819277108433735,
|
| 21 |
+
"grad_norm": 71.05435943603516,
|
| 22 |
+
"learning_rate": 2.91044776119403e-05,
|
| 23 |
+
"loss": 3.5163707733154297,
|
| 24 |
+
"step": 40
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"epoch": 0.7228915662650602,
|
| 28 |
+
"grad_norm": 60.80617141723633,
|
| 29 |
+
"learning_rate": 4.402985074626866e-05,
|
| 30 |
+
"loss": 3.0165132522583007,
|
| 31 |
+
"step": 60
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"epoch": 0.963855421686747,
|
| 35 |
+
"grad_norm": 64.55865478515625,
|
| 36 |
+
"learning_rate": 4.9950171333287335e-05,
|
| 37 |
+
"loss": 2.4458030700683593,
|
| 38 |
+
"step": 80
|
| 39 |
+
},
|
| 40 |
+
{
|
| 41 |
+
"epoch": 1.0,
|
| 42 |
+
"eval_loss": 2.536519765853882,
|
| 43 |
+
"eval_runtime": 6.8652,
|
| 44 |
+
"eval_samples_per_second": 64.82,
|
| 45 |
+
"eval_steps_per_second": 2.039,
|
| 46 |
+
"eval_top1": 0.3325842696629214,
|
| 47 |
+
"eval_top3": 0.5438202247191011,
|
| 48 |
+
"step": 83
|
| 49 |
+
},
|
| 50 |
+
{
|
| 51 |
+
"epoch": 1.2048192771084336,
|
| 52 |
+
"grad_norm": 60.52080535888672,
|
| 53 |
+
"learning_rate": 4.964638184169378e-05,
|
| 54 |
+
"loss": 2.153371238708496,
|
| 55 |
+
"step": 100
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"epoch": 1.4457831325301205,
|
| 59 |
+
"grad_norm": 70.68125915527344,
|
| 60 |
+
"learning_rate": 4.906984324751821e-05,
|
| 61 |
+
"loss": 1.828770637512207,
|
| 62 |
+
"step": 120
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"epoch": 1.6867469879518073,
|
| 66 |
+
"grad_norm": 60.982425689697266,
|
| 67 |
+
"learning_rate": 4.822693581319326e-05,
|
| 68 |
+
"loss": 1.7083017349243164,
|
| 69 |
+
"step": 140
|
| 70 |
+
},
|
| 71 |
+
{
|
| 72 |
+
"epoch": 1.927710843373494,
|
| 73 |
+
"grad_norm": 58.39655303955078,
|
| 74 |
+
"learning_rate": 4.712698757103414e-05,
|
| 75 |
+
"loss": 1.712203025817871,
|
| 76 |
+
"step": 160
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"epoch": 2.0,
|
| 80 |
+
"eval_loss": 1.7305916547775269,
|
| 81 |
+
"eval_runtime": 7.5482,
|
| 82 |
+
"eval_samples_per_second": 58.954,
|
| 83 |
+
"eval_steps_per_second": 1.855,
|
| 84 |
+
"eval_top1": 0.5415730337078651,
|
| 85 |
+
"eval_top3": 0.7146067415730337,
|
| 86 |
+
"step": 166
|
| 87 |
+
},
|
| 88 |
+
{
|
| 89 |
+
"epoch": 2.1686746987951806,
|
| 90 |
+
"grad_norm": 60.08979415893555,
|
| 91 |
+
"learning_rate": 4.5782171094600005e-05,
|
| 92 |
+
"loss": 1.3887232780456542,
|
| 93 |
+
"step": 180
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"epoch": 2.4096385542168672,
|
| 97 |
+
"grad_norm": 64.29576873779297,
|
| 98 |
+
"learning_rate": 4.420736879094927e-05,
|
| 99 |
+
"loss": 1.3437091827392578,
|
| 100 |
+
"step": 200
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"epoch": 2.6506024096385543,
|
| 104 |
+
"grad_norm": 62.950355529785156,
|
| 105 |
+
"learning_rate": 4.242000820453141e-05,
|
| 106 |
+
"loss": 1.139847469329834,
|
| 107 |
+
"step": 220
|
| 108 |
+
},
|
| 109 |
+
{
|
| 110 |
+
"epoch": 2.891566265060241,
|
| 111 |
+
"grad_norm": 43.11043167114258,
|
| 112 |
+
"learning_rate": 4.043986915532434e-05,
|
| 113 |
+
"loss": 1.2316542625427247,
|
| 114 |
+
"step": 240
|
| 115 |
+
},
|
| 116 |
+
{
|
| 117 |
+
"epoch": 3.0,
|
| 118 |
+
"eval_loss": 1.4789479970932007,
|
| 119 |
+
"eval_runtime": 7.5421,
|
| 120 |
+
"eval_samples_per_second": 59.002,
|
| 121 |
+
"eval_steps_per_second": 1.856,
|
| 122 |
+
"eval_top1": 0.6269662921348315,
|
| 123 |
+
"eval_top3": 0.7842696629213484,
|
| 124 |
+
"step": 249
|
| 125 |
+
},
|
| 126 |
+
{
|
| 127 |
+
"epoch": 3.1325301204819276,
|
| 128 |
+
"grad_norm": 66.58777618408203,
|
| 129 |
+
"learning_rate": 3.828886484552254e-05,
|
| 130 |
+
"loss": 1.033012580871582,
|
| 131 |
+
"step": 260
|
| 132 |
+
},
|
| 133 |
+
{
|
| 134 |
+
"epoch": 3.3734939759036147,
|
| 135 |
+
"grad_norm": 53.87052536010742,
|
| 136 |
+
"learning_rate": 3.5990799357157864e-05,
|
| 137 |
+
"loss": 0.8578171730041504,
|
| 138 |
+
"step": 280
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"epoch": 3.6144578313253013,
|
| 142 |
+
"grad_norm": 72.20587921142578,
|
| 143 |
+
"learning_rate": 3.357110422430506e-05,
|
| 144 |
+
"loss": 0.8009697914123535,
|
| 145 |
+
"step": 300
|
| 146 |
+
},
|
| 147 |
+
{
|
| 148 |
+
"epoch": 3.855421686746988,
|
| 149 |
+
"grad_norm": 47.637420654296875,
|
| 150 |
+
"learning_rate": 3.105655699509458e-05,
|
| 151 |
+
"loss": 0.8424944877624512,
|
| 152 |
+
"step": 320
|
| 153 |
+
},
|
| 154 |
+
{
|
| 155 |
+
"epoch": 4.0,
|
| 156 |
+
"eval_loss": 1.3673882484436035,
|
| 157 |
+
"eval_runtime": 8.6387,
|
| 158 |
+
"eval_samples_per_second": 51.512,
|
| 159 |
+
"eval_steps_per_second": 1.621,
|
| 160 |
+
"eval_top1": 0.6202247191011236,
|
| 161 |
+
"eval_top3": 0.8112359550561797,
|
| 162 |
+
"step": 332
|
| 163 |
+
},
|
| 164 |
+
{
|
| 165 |
+
"epoch": 4.096385542168675,
|
| 166 |
+
"grad_norm": 44.70951461791992,
|
| 167 |
+
"learning_rate": 2.8474984898065406e-05,
|
| 168 |
+
"loss": 0.7181183815002441,
|
| 169 |
+
"step": 340
|
| 170 |
+
},
|
| 171 |
+
{
|
| 172 |
+
"epoch": 4.337349397590361,
|
| 173 |
+
"grad_norm": 40.632354736328125,
|
| 174 |
+
"learning_rate": 2.5854956892233006e-05,
|
| 175 |
+
"loss": 0.6570661544799805,
|
| 176 |
+
"step": 360
|
| 177 |
+
},
|
| 178 |
+
{
|
| 179 |
+
"epoch": 4.578313253012048,
|
| 180 |
+
"grad_norm": 41.45029067993164,
|
| 181 |
+
"learning_rate": 2.32254675087996e-05,
|
| 182 |
+
"loss": 0.5137750148773194,
|
| 183 |
+
"step": 380
|
| 184 |
+
},
|
| 185 |
+
{
|
| 186 |
+
"epoch": 4.8192771084337345,
|
| 187 |
+
"grad_norm": 53.68215560913086,
|
| 188 |
+
"learning_rate": 2.061561598327112e-05,
|
| 189 |
+
"loss": 0.5405148029327392,
|
| 190 |
+
"step": 400
|
| 191 |
+
},
|
| 192 |
+
{
|
| 193 |
+
"epoch": 5.0,
|
| 194 |
+
"eval_loss": 1.1706817150115967,
|
| 195 |
+
"eval_runtime": 8.8354,
|
| 196 |
+
"eval_samples_per_second": 50.365,
|
| 197 |
+
"eval_steps_per_second": 1.585,
|
| 198 |
+
"eval_top1": 0.6831460674157304,
|
| 199 |
+
"eval_top3": 0.849438202247191,
|
| 200 |
+
"step": 415
|
| 201 |
+
},
|
| 202 |
+
{
|
| 203 |
+
"epoch": 5.0602409638554215,
|
| 204 |
+
"grad_norm": 75.12175750732422,
|
| 205 |
+
"learning_rate": 1.8054284228864366e-05,
|
| 206 |
+
"loss": 0.49901180267333983,
|
| 207 |
+
"step": 420
|
| 208 |
+
},
|
| 209 |
+
{
|
| 210 |
+
"epoch": 5.301204819277109,
|
| 211 |
+
"grad_norm": 18.631591796875,
|
| 212 |
+
"learning_rate": 1.55698172149106e-05,
|
| 213 |
+
"loss": 0.29165282249450686,
|
| 214 |
+
"step": 440
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"epoch": 5.542168674698795,
|
| 218 |
+
"grad_norm": 10.731932640075684,
|
| 219 |
+
"learning_rate": 1.3189709287346813e-05,
|
| 220 |
+
"loss": 0.3043174982070923,
|
| 221 |
+
"step": 460
|
| 222 |
+
},
|
| 223 |
+
{
|
| 224 |
+
"epoch": 5.783132530120482,
|
| 225 |
+
"grad_norm": 47.11884689331055,
|
| 226 |
+
"learning_rate": 1.0940299902627938e-05,
|
| 227 |
+
"loss": 0.41364297866821287,
|
| 228 |
+
"step": 480
|
| 229 |
+
},
|
| 230 |
+
{
|
| 231 |
+
"epoch": 6.0,
|
| 232 |
+
"eval_loss": 1.1097288131713867,
|
| 233 |
+
"eval_runtime": 8.2234,
|
| 234 |
+
"eval_samples_per_second": 54.114,
|
| 235 |
+
"eval_steps_per_second": 1.702,
|
| 236 |
+
"eval_top1": 0.7258426966292135,
|
| 237 |
+
"eval_top3": 0.8674157303370786,
|
| 238 |
+
"step": 498
|
| 239 |
+
},
|
| 240 |
+
{
|
| 241 |
+
"epoch": 6.024096385542169,
|
| 242 |
+
"grad_norm": 20.367740631103516,
|
| 243 |
+
"learning_rate": 8.846482142219752e-06,
|
| 244 |
+
"loss": 0.34232077598571775,
|
| 245 |
+
"step": 500
|
| 246 |
+
},
|
| 247 |
+
{
|
| 248 |
+
"epoch": 6.265060240963855,
|
| 249 |
+
"grad_norm": 29.076051712036133,
|
| 250 |
+
"learning_rate": 6.931427233395696e-06,
|
| 251 |
+
"loss": 0.18118011951446533,
|
| 252 |
+
"step": 520
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"epoch": 6.506024096385542,
|
| 256 |
+
"grad_norm": 21.859106063842773,
|
| 257 |
+
"learning_rate": 5.21632812492738e-06,
|
| 258 |
+
"loss": 0.204935622215271,
|
| 259 |
+
"step": 540
|
| 260 |
+
},
|
| 261 |
+
{
|
| 262 |
+
"epoch": 6.746987951807229,
|
| 263 |
+
"grad_norm": 24.722841262817383,
|
| 264 |
+
"learning_rate": 3.7201649553876366e-06,
|
| 265 |
+
"loss": 0.21130716800689697,
|
| 266 |
+
"step": 560
|
| 267 |
+
},
|
| 268 |
+
{
|
| 269 |
+
"epoch": 6.9879518072289155,
|
| 270 |
+
"grad_norm": 27.248981475830078,
|
| 271 |
+
"learning_rate": 2.4594950095101513e-06,
|
| 272 |
+
"loss": 0.2202404260635376,
|
| 273 |
+
"step": 580
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"epoch": 7.0,
|
| 277 |
+
"eval_loss": 1.105672001838684,
|
| 278 |
+
"eval_runtime": 8.1718,
|
| 279 |
+
"eval_samples_per_second": 54.455,
|
| 280 |
+
"eval_steps_per_second": 1.713,
|
| 281 |
+
"eval_top1": 0.7325842696629213,
|
| 282 |
+
"eval_top3": 0.8741573033707866,
|
| 283 |
+
"step": 581
|
| 284 |
+
},
|
| 285 |
+
{
|
| 286 |
+
"epoch": 7.228915662650603,
|
| 287 |
+
"grad_norm": 4.657148838043213,
|
| 288 |
+
"learning_rate": 1.4482694870531195e-06,
|
| 289 |
+
"loss": 0.11784229278564454,
|
| 290 |
+
"step": 600
|
| 291 |
+
},
|
| 292 |
+
{
|
| 293 |
+
"epoch": 7.469879518072289,
|
| 294 |
+
"grad_norm": 33.46561813354492,
|
| 295 |
+
"learning_rate": 6.976791118935761e-07,
|
| 296 |
+
"loss": 0.11900093555450439,
|
| 297 |
+
"step": 620
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"epoch": 7.710843373493976,
|
| 301 |
+
"grad_norm": 28.289289474487305,
|
| 302 |
+
"learning_rate": 2.1603028991885321e-07,
|
| 303 |
+
"loss": 0.15290510654449463,
|
| 304 |
+
"step": 640
|
| 305 |
+
},
|
| 306 |
+
{
|
| 307 |
+
"epoch": 7.951807228915663,
|
| 308 |
+
"grad_norm": 22.30632972717285,
|
| 309 |
+
"learning_rate": 8.653186213511411e-09,
|
| 310 |
+
"loss": 0.14717140197753906,
|
| 311 |
+
"step": 660
|
| 312 |
+
},
|
| 313 |
+
{
|
| 314 |
+
"epoch": 8.0,
|
| 315 |
+
"eval_loss": 1.0861974954605103,
|
| 316 |
+
"eval_runtime": 27.6175,
|
| 317 |
+
"eval_samples_per_second": 16.113,
|
| 318 |
+
"eval_steps_per_second": 0.507,
|
| 319 |
+
"eval_top1": 0.7370786516853932,
|
| 320 |
+
"eval_top3": 0.8651685393258427,
|
| 321 |
+
"step": 664
|
| 322 |
+
}
|
| 323 |
+
],
|
| 324 |
+
"logging_steps": 20,
|
| 325 |
+
"max_steps": 664,
|
| 326 |
+
"num_input_tokens_seen": 0,
|
| 327 |
+
"num_train_epochs": 8,
|
| 328 |
+
"save_steps": 500,
|
| 329 |
+
"stateful_callbacks": {
|
| 330 |
+
"TrainerControl": {
|
| 331 |
+
"args": {
|
| 332 |
+
"should_epoch_stop": false,
|
| 333 |
+
"should_evaluate": false,
|
| 334 |
+
"should_log": false,
|
| 335 |
+
"should_save": true,
|
| 336 |
+
"should_training_stop": true
|
| 337 |
+
},
|
| 338 |
+
"attributes": {}
|
| 339 |
+
}
|
| 340 |
+
},
|
| 341 |
+
"total_flos": 5.4924533903130624e+17,
|
| 342 |
+
"train_batch_size": 32,
|
| 343 |
+
"trial_name": null,
|
| 344 |
+
"trial_params": null
|
| 345 |
+
}
|
checkpoint-664/training_args.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6afabf8f636fefd143058269d2e6c5383477744d5a9e8c2dc666c57c59670119
|
| 3 |
+
size 5265
|
config.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"apply_layernorm": true,
|
| 3 |
+
"architectures": [
|
| 4 |
+
"Dinov2ForImageClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.0,
|
| 7 |
+
"drop_path_rate": 0.0,
|
| 8 |
+
"dtype": "float32",
|
| 9 |
+
"hidden_act": "gelu",
|
| 10 |
+
"hidden_dropout_prob": 0.0,
|
| 11 |
+
"hidden_size": 384,
|
| 12 |
+
"id2label": {
|
| 13 |
+
"0": "us_erdl",
|
| 14 |
+
"1": "us_m81_woodland",
|
| 15 |
+
"2": "us_dcu_chocolate_chip",
|
| 16 |
+
"3": "us_dcu_3color",
|
| 17 |
+
"4": "us_marpat_woodland",
|
| 18 |
+
"5": "us_marpat_desert",
|
| 19 |
+
"6": "us_ucp",
|
| 20 |
+
"7": "us_multicam",
|
| 21 |
+
"8": "us_ocp_scorpion",
|
| 22 |
+
"9": "us_aor1",
|
| 23 |
+
"10": "us_aor2",
|
| 24 |
+
"11": "us_tigerstripe",
|
| 25 |
+
"12": "uk_dpm_woodland",
|
| 26 |
+
"13": "uk_dpm_desert",
|
| 27 |
+
"14": "uk_mtp",
|
| 28 |
+
"15": "de_flecktarn",
|
| 29 |
+
"16": "de_tropentarn",
|
| 30 |
+
"17": "de_splittertarn",
|
| 31 |
+
"18": "ru_klmk",
|
| 32 |
+
"19": "ru_ttsko",
|
| 33 |
+
"20": "ru_vsr_93",
|
| 34 |
+
"21": "ru_emr_digital_flora",
|
| 35 |
+
"22": "ru_surpat",
|
| 36 |
+
"23": "ru_partizan",
|
| 37 |
+
"24": "ca_cadpat_tw",
|
| 38 |
+
"25": "ca_cadpat_ar",
|
| 39 |
+
"26": "fr_cce",
|
| 40 |
+
"27": "fr_daguet",
|
| 41 |
+
"28": "it_vegetata",
|
| 42 |
+
"29": "au_auscam",
|
| 43 |
+
"30": "au_amcu",
|
| 44 |
+
"31": "se_m90",
|
| 45 |
+
"32": "ch_taz_90",
|
| 46 |
+
"33": "no_m75",
|
| 47 |
+
"34": "cn_type07_universal",
|
| 48 |
+
"35": "cn_type07_desert",
|
| 49 |
+
"36": "kr_granite",
|
| 50 |
+
"37": "jp_jgsdf",
|
| 51 |
+
"38": "commercial_kryptek_mandrake",
|
| 52 |
+
"39": "commercial_atacs_au"
|
| 53 |
+
},
|
| 54 |
+
"image_size": 518,
|
| 55 |
+
"initializer_range": 0.02,
|
| 56 |
+
"label2id": {
|
| 57 |
+
"au_amcu": 30,
|
| 58 |
+
"au_auscam": 29,
|
| 59 |
+
"ca_cadpat_ar": 25,
|
| 60 |
+
"ca_cadpat_tw": 24,
|
| 61 |
+
"ch_taz_90": 32,
|
| 62 |
+
"cn_type07_desert": 35,
|
| 63 |
+
"cn_type07_universal": 34,
|
| 64 |
+
"commercial_atacs_au": 39,
|
| 65 |
+
"commercial_kryptek_mandrake": 38,
|
| 66 |
+
"de_flecktarn": 15,
|
| 67 |
+
"de_splittertarn": 17,
|
| 68 |
+
"de_tropentarn": 16,
|
| 69 |
+
"fr_cce": 26,
|
| 70 |
+
"fr_daguet": 27,
|
| 71 |
+
"it_vegetata": 28,
|
| 72 |
+
"jp_jgsdf": 37,
|
| 73 |
+
"kr_granite": 36,
|
| 74 |
+
"no_m75": 33,
|
| 75 |
+
"ru_emr_digital_flora": 21,
|
| 76 |
+
"ru_klmk": 18,
|
| 77 |
+
"ru_partizan": 23,
|
| 78 |
+
"ru_surpat": 22,
|
| 79 |
+
"ru_ttsko": 19,
|
| 80 |
+
"ru_vsr_93": 20,
|
| 81 |
+
"se_m90": 31,
|
| 82 |
+
"uk_dpm_desert": 13,
|
| 83 |
+
"uk_dpm_woodland": 12,
|
| 84 |
+
"uk_mtp": 14,
|
| 85 |
+
"us_aor1": 9,
|
| 86 |
+
"us_aor2": 10,
|
| 87 |
+
"us_dcu_3color": 3,
|
| 88 |
+
"us_dcu_chocolate_chip": 2,
|
| 89 |
+
"us_erdl": 0,
|
| 90 |
+
"us_m81_woodland": 1,
|
| 91 |
+
"us_marpat_desert": 5,
|
| 92 |
+
"us_marpat_woodland": 4,
|
| 93 |
+
"us_multicam": 7,
|
| 94 |
+
"us_ocp_scorpion": 8,
|
| 95 |
+
"us_tigerstripe": 11,
|
| 96 |
+
"us_ucp": 6
|
| 97 |
+
},
|
| 98 |
+
"layer_norm_eps": 1e-06,
|
| 99 |
+
"layerscale_value": 1.0,
|
| 100 |
+
"mlp_ratio": 4,
|
| 101 |
+
"model_type": "dinov2",
|
| 102 |
+
"num_attention_heads": 6,
|
| 103 |
+
"num_channels": 3,
|
| 104 |
+
"num_hidden_layers": 12,
|
| 105 |
+
"out_features": [
|
| 106 |
+
"stage12"
|
| 107 |
+
],
|
| 108 |
+
"out_indices": [
|
| 109 |
+
12
|
| 110 |
+
],
|
| 111 |
+
"patch_size": 14,
|
| 112 |
+
"problem_type": "single_label_classification",
|
| 113 |
+
"qkv_bias": true,
|
| 114 |
+
"reshape_hidden_states": true,
|
| 115 |
+
"stage_names": [
|
| 116 |
+
"stem",
|
| 117 |
+
"stage1",
|
| 118 |
+
"stage2",
|
| 119 |
+
"stage3",
|
| 120 |
+
"stage4",
|
| 121 |
+
"stage5",
|
| 122 |
+
"stage6",
|
| 123 |
+
"stage7",
|
| 124 |
+
"stage8",
|
| 125 |
+
"stage9",
|
| 126 |
+
"stage10",
|
| 127 |
+
"stage11",
|
| 128 |
+
"stage12"
|
| 129 |
+
],
|
| 130 |
+
"transformers_version": "5.7.0",
|
| 131 |
+
"use_cache": false,
|
| 132 |
+
"use_mask_token": true,
|
| 133 |
+
"use_swiglu_ffn": false
|
| 134 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f031d15334bc1698fb596012bd81714f63fd681fd59d5449676adf48a646df9c
|
| 3 |
+
size 88374736
|
preprocessor_config.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"crop_size": {
|
| 3 |
+
"height": 224,
|
| 4 |
+
"width": 224
|
| 5 |
+
},
|
| 6 |
+
"do_center_crop": true,
|
| 7 |
+
"do_convert_rgb": true,
|
| 8 |
+
"do_normalize": true,
|
| 9 |
+
"do_rescale": true,
|
| 10 |
+
"do_resize": true,
|
| 11 |
+
"image_mean": [
|
| 12 |
+
0.485,
|
| 13 |
+
0.456,
|
| 14 |
+
0.406
|
| 15 |
+
],
|
| 16 |
+
"image_processor_type": "BitImageProcessor",
|
| 17 |
+
"image_std": [
|
| 18 |
+
0.229,
|
| 19 |
+
0.224,
|
| 20 |
+
0.225
|
| 21 |
+
],
|
| 22 |
+
"resample": 3,
|
| 23 |
+
"rescale_factor": 0.00392156862745098,
|
| 24 |
+
"size": {
|
| 25 |
+
"shortest_edge": 256
|
| 26 |
+
}
|
| 27 |
+
}
|
taxonomy.py
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
CamoNet pattern taxonomy.
|
| 3 |
+
|
| 4 |
+
Each pattern has:
|
| 5 |
+
- id: short slug used as the class label (stable, snake_case)
|
| 6 |
+
- name: human-readable display name
|
| 7 |
+
- origin: country / military of origin
|
| 8 |
+
- era: rough date range of issue
|
| 9 |
+
- family: visual family (woodland / desert / arid / digital / brushstroke / blob / multi-terrain)
|
| 10 |
+
- notes: short blurb for the model card
|
| 11 |
+
|
| 12 |
+
Keep this list curated, not exhaustive. ~40 patterns is the sweet spot:
|
| 13 |
+
big enough to be impressive, small enough to actually train with limited data.
|
| 14 |
+
"""
|
| 15 |
+
|
| 16 |
+
from dataclasses import dataclass
|
| 17 |
+
from typing import Literal
|
| 18 |
+
|
| 19 |
+
Family = Literal[
|
| 20 |
+
"woodland", "desert", "arid", "digital", "brushstroke",
|
| 21 |
+
"blob", "multi-terrain", "winter", "urban", "naval"
|
| 22 |
+
]
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
@dataclass(frozen=True)
|
| 26 |
+
class Pattern:
|
| 27 |
+
id: str
|
| 28 |
+
name: str
|
| 29 |
+
origin: str
|
| 30 |
+
era: str
|
| 31 |
+
family: Family
|
| 32 |
+
notes: str
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
PATTERNS: list[Pattern] = [
|
| 36 |
+
# --- United States ---
|
| 37 |
+
Pattern("us_erdl", "ERDL", "United States", "1948-1980s", "woodland",
|
| 38 |
+
"Early US 4-color woodland pattern, used in Vietnam."),
|
| 39 |
+
Pattern("us_m81_woodland", "M81 Woodland", "United States", "1981-2006", "woodland",
|
| 40 |
+
"Iconic 4-color US woodland; the BDU pattern."),
|
| 41 |
+
Pattern("us_dcu_chocolate_chip", "Chocolate Chip (DBDU)", "United States", "1981-1991", "desert",
|
| 42 |
+
"6-color desert with pebble-like spots; Gulf War era."),
|
| 43 |
+
Pattern("us_dcu_3color", "3-Color Desert (DCU)", "United States", "1990-2000s", "desert",
|
| 44 |
+
"Coffee-stain pattern that replaced Chocolate Chip."),
|
| 45 |
+
Pattern("us_marpat_woodland", "MARPAT Woodland", "USMC", "2002-present", "digital",
|
| 46 |
+
"USMC digital woodland; first widely-issued pixelated camo."),
|
| 47 |
+
Pattern("us_marpat_desert", "MARPAT Desert", "USMC", "2002-present", "digital",
|
| 48 |
+
"USMC digital desert variant of MARPAT."),
|
| 49 |
+
Pattern("us_ucp", "UCP (ACU)", "US Army", "2004-2019", "digital",
|
| 50 |
+
"Universal Camo Pattern; grey-green digital, controversially ineffective."),
|
| 51 |
+
Pattern("us_multicam", "MultiCam", "United States (Crye)", "2010-present", "multi-terrain",
|
| 52 |
+
"Crye Precision blended multi-environment pattern; OEF-CP, OCP."),
|
| 53 |
+
Pattern("us_ocp_scorpion", "OCP Scorpion W2", "US Army", "2015-present", "multi-terrain",
|
| 54 |
+
"Army's MultiCam-derivative replacement for UCP."),
|
| 55 |
+
Pattern("us_aor1", "AOR1", "US Navy/NSW", "2010-present", "desert",
|
| 56 |
+
"NSW desert digital, MARPAT-derived."),
|
| 57 |
+
Pattern("us_aor2", "AOR2", "US Navy/NSW", "2010-present", "digital",
|
| 58 |
+
"NSW woodland digital, MARPAT-derived."),
|
| 59 |
+
Pattern("us_tigerstripe", "Tiger Stripe", "South Vietnam / US SF", "1962-1975", "brushstroke",
|
| 60 |
+
"Asymmetric horizontal-stripe pattern; many regional variants."),
|
| 61 |
+
|
| 62 |
+
# --- United Kingdom ---
|
| 63 |
+
Pattern("uk_dpm_woodland", "DPM Woodland", "United Kingdom", "1968-2011", "brushstroke",
|
| 64 |
+
"British Disruptive Pattern Material; brush-stroke 4-color."),
|
| 65 |
+
Pattern("uk_dpm_desert", "DPM Desert", "United Kingdom", "1990-2011", "desert",
|
| 66 |
+
"2-color desert DPM."),
|
| 67 |
+
Pattern("uk_mtp", "MTP (Multi-Terrain Pattern)", "United Kingdom", "2010-present", "multi-terrain",
|
| 68 |
+
"British MultiCam-derivative with DPM brush-stroke shapes."),
|
| 69 |
+
|
| 70 |
+
# --- Germany ---
|
| 71 |
+
Pattern("de_flecktarn", "Flecktarn", "Germany (Bundeswehr)", "1990-present", "blob",
|
| 72 |
+
"5-color blob pattern; one of the most effective in temperate forest."),
|
| 73 |
+
Pattern("de_tropentarn", "Tropentarn", "Germany (Bundeswehr)", "1990s-present", "desert",
|
| 74 |
+
"3-color arid Flecktarn variant."),
|
| 75 |
+
Pattern("de_splittertarn", "Splittertarn", "Germany (Wehrmacht)", "1931-1945", "blob",
|
| 76 |
+
"WW2-era angular splinter pattern."),
|
| 77 |
+
|
| 78 |
+
# --- USSR / Russia ---
|
| 79 |
+
Pattern("ru_klmk", "KLMK", "USSR", "1968-1990s", "brushstroke",
|
| 80 |
+
"Soviet 'silver leaf' sun-ray 2-color oversuit pattern."),
|
| 81 |
+
Pattern("ru_ttsko", "TTsKO (Butan)", "USSR", "1984-2000s", "blob",
|
| 82 |
+
"Three-color Soviet computer-generated pattern."),
|
| 83 |
+
Pattern("ru_vsr_93", "VSR-93 (Flora)", "Russia", "1993-2000s", "brushstroke",
|
| 84 |
+
"Vertical brush-stroke 'Flora' pattern."),
|
| 85 |
+
Pattern("ru_emr_digital_flora", "EMR (Digital Flora)", "Russia", "2008-present", "digital",
|
| 86 |
+
"Russian Armed Forces digital pattern; pixelated greens."),
|
| 87 |
+
Pattern("ru_surpat", "SURPAT", "Russia (Survival Corps)", "2010s-present", "digital",
|
| 88 |
+
"Commercial Russian multi-terrain digital."),
|
| 89 |
+
Pattern("ru_partizan", "Partizan / Spectre", "Russia (SSO)", "2000s-present", "multi-terrain",
|
| 90 |
+
"SSO Tactical 'leaf' pattern; layered foliage shapes."),
|
| 91 |
+
|
| 92 |
+
# --- Other NATO / Western ---
|
| 93 |
+
Pattern("ca_cadpat_tw", "CADPAT TW", "Canada", "1997-present", "digital",
|
| 94 |
+
"Canadian Disruptive Pattern; first issued digital camo (predates MARPAT)."),
|
| 95 |
+
Pattern("ca_cadpat_ar", "CADPAT AR", "Canada", "2000s-present", "desert",
|
| 96 |
+
"Arid CADPAT variant."),
|
| 97 |
+
Pattern("fr_cce", "CCE F1", "France", "1991-2010s", "woodland",
|
| 98 |
+
"Centre Europe; French M81-style woodland."),
|
| 99 |
+
Pattern("fr_daguet", "Daguet", "France", "1991-2010s", "desert",
|
| 100 |
+
"French desert pattern, Gulf War era."),
|
| 101 |
+
Pattern("it_vegetata", "Vegetata", "Italy", "2004-present", "woodland",
|
| 102 |
+
"Italian 4-color fractal-style woodland."),
|
| 103 |
+
Pattern("au_auscam", "AUSCAM (DPCU)", "Australia", "1982-2014", "blob",
|
| 104 |
+
"Australian 'hearts and bunnies' 5-color blob pattern."),
|
| 105 |
+
Pattern("au_amcu", "AMCU", "Australia", "2014-present", "multi-terrain",
|
| 106 |
+
"Australian MultiCam-derivative replacement for DPCU."),
|
| 107 |
+
Pattern("se_m90", "M90", "Sweden", "1990-present", "blob",
|
| 108 |
+
"Swedish angular 4-color splinter; very distinctive."),
|
| 109 |
+
Pattern("ch_taz_90", "TAZ 90", "Switzerland", "1990-present", "blob",
|
| 110 |
+
"Swiss 5-color leaf/blob pattern."),
|
| 111 |
+
Pattern("no_m75", "M75", "Norway", "1975-2000s", "blob",
|
| 112 |
+
"Norwegian 3-color blob pattern."),
|
| 113 |
+
|
| 114 |
+
# --- Asia ---
|
| 115 |
+
Pattern("cn_type07_universal", "Type 07 Universal", "China (PLA)", "2007-present", "digital",
|
| 116 |
+
"Chinese Type 07 woodland-leaning digital."),
|
| 117 |
+
Pattern("cn_type07_desert", "Type 07 Desert", "China (PLA)", "2007-present", "digital",
|
| 118 |
+
"Type 07 arid variant."),
|
| 119 |
+
Pattern("kr_granite", "ROK Granite", "South Korea", "2014-present", "digital",
|
| 120 |
+
"Korean digital pattern with granite-like color blocks."),
|
| 121 |
+
Pattern("jp_jgsdf", "JGSDF Type II", "Japan", "1991-present", "blob",
|
| 122 |
+
"Japan Ground SDF pinkish-brown tinted blob pattern."),
|
| 123 |
+
|
| 124 |
+
# --- Commercial / specialty ---
|
| 125 |
+
Pattern("commercial_kryptek_mandrake", "Kryptek Mandrake", "United States (commercial)", "2012-present", "multi-terrain",
|
| 126 |
+
"Commercial layered reptilian-scale pattern."),
|
| 127 |
+
Pattern("commercial_atacs_au", "A-TACS AU", "United States (commercial)", "2009-present", "arid",
|
| 128 |
+
"Commercial arid-urban 'pixelated organic' pattern."),
|
| 129 |
+
]
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
PATTERN_BY_ID: dict[str, Pattern] = {p.id: p for p in PATTERNS}
|
| 133 |
+
LABELS: list[str] = [p.id for p in PATTERNS]
|
| 134 |
+
LABEL2ID: dict[str, int] = {label: i for i, label in enumerate(LABELS)}
|
| 135 |
+
ID2LABEL: dict[int, str] = {i: label for i, label in enumerate(LABELS)}
|
| 136 |
+
NUM_LABELS: int = len(LABELS)
|
| 137 |
+
|
| 138 |
+
|
| 139 |
+
if __name__ == "__main__":
|
| 140 |
+
print(f"CamoNet taxonomy: {NUM_LABELS} patterns across {len(set(p.family for p in PATTERNS))} families")
|
| 141 |
+
for fam in sorted(set(p.family for p in PATTERNS)):
|
| 142 |
+
members = [p for p in PATTERNS if p.family == fam]
|
| 143 |
+
print(f" {fam:15s} ({len(members):2d}): {', '.join(m.id for m in members)}")
|
training_args.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6afabf8f636fefd143058269d2e6c5383477744d5a9e8c2dc666c57c59670119
|
| 3 |
+
size 5265
|