metadata
license: mit
base_model: microsoft/resnet-18
tags:
- generated_from_trainer
datasets:
- gaborcselle/font-examples
metrics:
- accuracy
model-index:
- name: font-identifier
results:
- task:
name: Image Classification
type: image-classification
dataset:
name: imagefolder
type: imagefolder
config: default
split: test
args: default
metrics:
- name: Accuracy
type: accuracy
value: 0.963265306122449
widget:
- src: hf_samples/ArchitectsDaughter-Regular_1.png
example_title: Architects Daughter
- src: main/hf_samples/Courier_28.png
example_title: Courier
- src: main/hf_samples/Helvetica_3.png
example_title: Helvetica
- src: hf_samples/IBMPlexSans-Regular_25.png
example_title: IBM Plex Sans
- src: hf_samples/Inter-Regular_43.png
example_title: Inter
- src: hf_samples/Lobster-Regular_25.png
example_title: Lobster
- src: hf_samples/Trebuchet_MS_11.png
example_title: Trebuchet MS
- src: hf_samples/Verdana_Bold_43.png
example_title: Verdana Bold
language:
- en
font-identifier
This model is a fine-tuned version of microsoft/resnet-18 on the imagefolder dataset. Result: Loss: 0.1172; Accuracy: 0.9633
Try with any screenshot of a font, or any of the examples in the 'samples' subfolder of this repo.
Model description
Identify the font used in an image. Visual classifier based on ResNet18.
I built this project in 1 day, with a minute-by-minute journal on Twitter/X, on Pebble.social, and on Threads.net.
The code used to build this model is in this github rep
Intended uses & limitations
Identify any of 48 standard fonts from the training data.
Training and evaluation data
Trained and eval'd on the gaborcselle/font-examples dataset (80/20 split).
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 16
- eval_batch_size: 16
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 64
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 50
Training results
Training Loss | Epoch | Step | Validation Loss | Accuracy |
---|---|---|---|---|
4.0243 | 0.98 | 30 | 3.9884 | 0.0204 |
0.8309 | 10.99 | 338 | 0.5536 | 0.8551 |
0.3917 | 20.0 | 615 | 0.2353 | 0.9388 |
0.2298 | 30.99 | 953 | 0.1326 | 0.9633 |
0.1804 | 40.0 | 1230 | 0.1421 | 0.9571 |
0.1987 | 46.99 | 1445 | 0.1250 | 0.9673 |
0.1728 | 48.0 | 1476 | 0.1293 | 0.9633 |
0.1337 | 48.78 | 1500 | 0.1172 | 0.9633 |
Confusion Matrix
Confusion matrix on test data.
Framework versions
- Transformers 4.36.0.dev0
- Pytorch 2.0.0
- Datasets 2.12.0
- Tokenizers 0.14.1