librarian-bot's picture
Librarian Bot: Add base_model information to model
4355138
|
raw
history blame
3.35 kB
metadata
license: apache-2.0
tags:
  - generated_from_trainer
datasets:
  - imagefolder
metrics:
  - accuracy
base_model: google/vit-base-patch16-224-in21k
model-index:
  - name: vit-artworkclassifier
    results:
      - task:
          type: image-classification
          name: Image Classification
        dataset:
          name: imagefolder
          type: imagefolder
          config: artbench10-vit
          split: test
          args: artbench10-vit
        metrics:
          - type: accuracy
            value: 0.5947786606129398
            name: Accuracy

vit-artworkclassifier

This model returns the artwork style of any image input.

This model is a fine-tuned version of google/vit-base-patch16-224-in21k on the imagefolder dataset. This is a subset of the artbench-10 dataset (https://www.kaggle.com/datasets/alexanderliao/artbench10), with a train set of 1000 artworks per class and a test set of 100 artworks per class. It achieves the following results on the evaluation set:

  • Loss: 1.1392
  • Accuracy: 0.5948

Model description

More information needed

Intended uses & limitations

More information needed

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0001
  • train_batch_size: 32
  • eval_batch_size: 8
  • seed: 42
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 4
  • mixed_precision_training: Native AMP

Training results

Training Loss Epoch Step Validation Loss Accuracy
1.5906 0.36 100 1.4709 0.4847
1.3395 0.72 200 1.3208 0.5074
1.1461 1.08 300 1.3363 0.5165
0.9593 1.44 400 1.1790 0.5846
0.8761 1.8 500 1.1252 0.5902
0.5922 2.16 600 1.1392 0.5948
0.4803 2.52 700 1.1560 0.5936
0.4454 2.88 800 1.1545 0.6118
0.2271 3.24 900 1.2284 0.6039
0.207 3.6 1000 1.2625 0.5959
0.1958 3.96 1100 1.2621 0.6005

Framework versions

  • Transformers 4.26.1
  • Pytorch 1.13.1+cu117
  • Datasets 2.9.0
  • Tokenizers 0.13.2

Code to Run

def vit_classify(image): vit = ViTForImageClassification.from_pretrained("oschamp/vit-artworkclassifier") vit.eval() device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') vit.to(device)

model_name_or_path = 'google/vit-base-patch16-224-in21k'
feature_extractor = ViTFeatureExtractor.from_pretrained(model_name_or_path)

#LOAD IMAGE

encoding = feature_extractor(images=image, return_tensors="pt")
encoding.keys()

pixel_values = encoding['pixel_values'].to(device)

outputs = vit(pixel_values)
logits = outputs.logits

prediction = logits.argmax(-1)
return prediction.item() #vit.config.id2label[prediction.item()]