--- license: apache-2.0 base_model: google/vit-base-patch16-224 tags: - generated_from_trainer metrics: - accuracy model-index: - name: Human-Action-Recognition-VIT-Base-patch16-224 results: [] datasets: - Bingsu/Human_Action_Recognition language: - en pipeline_tag: image-classification --- # Human-Action-Recognition-VIT-Base-patch16-224 This model is a fine-tuned version of [google/vit-base-patch16-224](https://huggingface.co/google/vit-base-patch16-224) on [Bingsu/Human_Action_Recognition](https://huggingface.co/datasets/Bingsu/Human_Action_Recognition) dataset. It achieves the following results on the evaluation set: - Loss: 0.4005 - Accuracy: 0.8786 ## Model description The Vision Transformer (ViT) is a transformer encoder model (BERT-like) pretrained on a large collection of images in a supervised fashion, namely ImageNet-21k, at a resolution of 224x224 pixels. Next, the model was fine-tuned on ImageNet (also referred to as ILSVRC2012), a dataset comprising 1 million images and 1,000 classes, also at resolution 224x224. Images are presented to the model as a sequence of fixed-size patches (resolution 16x16), which are linearly embedded. One also adds a [CLS] token to the beginning of a sequence to use it for classification tasks. One also adds absolute position embeddings before feeding the sequence to the layers of the Transformer encoder. By pre-training the model, it learns an inner representation of images that can then be used to extract features useful for downstream tasks: if you have a dataset of labeled images for instance, you can train a standard classifier by placing a linear layer on top of the pre-trained encoder. One typically places a linear layer on top of the [CLS] token, as the last hidden state of this token can be seen as a representation of an entire image. ## Intended uses & limitations You can use the model for image classification. ### How to use Here is how to use this model to classify an image of the human action into one of the following categories: calling, clapping, cycling, dancing, drinking, eating, fighting, hugging, laughing, listening_to_music, running, sitting, sleeping, texting, using_laptop ```python from transformers import pipeline from PIL import Image import requests pipe = pipeline("image-classification", "rvv-karma/Human-Action-Recognition-VIT-Base-patch16-224") url = "https://images.pexels.com/photos/175658/pexels-photo-175658.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" image = Image.open(requests.get(url, stream=True).raw) pipe(image) # Output: # [{'score': 0.9918079972267151, 'label': 'dancing'}, # {'score': 0.00207977625541389, 'label': 'clapping'}, # {'score': 0.0015223610680550337, 'label': 'running'}, # {'score': 0.0009153694845736027, 'label': 'fighting'}, # {'score': 0.0006987180095165968, 'label': 'sitting'}] ``` ## Training and evaluation data More information needed ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 5e-05 - train_batch_size: 64 - eval_batch_size: 64 - seed: 42 - gradient_accumulation_steps: 4 - total_train_batch_size: 256 - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 - lr_scheduler_type: linear - lr_scheduler_warmup_ratio: 0.1 - num_epochs: 20 ### Training results | Training Loss | Epoch | Step | Validation Loss | Accuracy | |:-------------:|:-----:|:----:|:---------------:|:--------:| | 2.6396 | 0.99 | 39 | 2.0436 | 0.4425 | | 1.4579 | 2.0 | 79 | 0.7553 | 0.7917 | | 0.8342 | 2.99 | 118 | 0.5296 | 0.8417 | | 0.6649 | 4.0 | 158 | 0.4978 | 0.8496 | | 0.6137 | 4.99 | 197 | 0.4460 | 0.8595 | | 0.5374 | 6.0 | 237 | 0.4356 | 0.8627 | | 0.514 | 6.99 | 276 | 0.4349 | 0.8615 | | 0.475 | 8.0 | 316 | 0.4005 | 0.8786 | | 0.4663 | 8.99 | 355 | 0.4164 | 0.8659 | | 0.4178 | 10.0 | 395 | 0.4128 | 0.8738 | | 0.4226 | 10.99 | 434 | 0.4115 | 0.8690 | | 0.3896 | 12.0 | 474 | 0.4112 | 0.875 | | 0.3866 | 12.99 | 513 | 0.4072 | 0.8714 | | 0.3632 | 14.0 | 553 | 0.4106 | 0.8718 | | 0.3596 | 14.99 | 592 | 0.4043 | 0.8714 | | 0.3421 | 16.0 | 632 | 0.4128 | 0.8675 | | 0.344 | 16.99 | 671 | 0.4181 | 0.8643 | | 0.3447 | 18.0 | 711 | 0.4128 | 0.8687 | | 0.3407 | 18.99 | 750 | 0.4097 | 0.8714 | | 0.3267 | 19.75 | 780 | 0.4097 | 0.8683 | ### Framework versions - Transformers 4.35.2 - Pytorch 2.1.0+cu118 - Datasets 2.15.0 - Tokenizers 0.15.0 ## Fine-tuning script [Google Colaboratory Notebook](https://colab.research.google.com/drive/1YELczSv8r0znzcOKJ4Lt-ecP-aNqk7NV?usp=sharing)