Instructions to use pszemraj/convnextv2-nano-22k-384-boulderspot with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use pszemraj/convnextv2-nano-22k-384-boulderspot with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="pszemraj/convnextv2-nano-22k-384-boulderspot") 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("pszemraj/convnextv2-nano-22k-384-boulderspot") model = AutoModelForImageClassification.from_pretrained("pszemraj/convnextv2-nano-22k-384-boulderspot") - Notebooks
- Google Colab
- Kaggle
convnextv2-nano-22k-384-boulderspot
This is a model fine-tuned to classify whether an aerial/satellite image contains a climbing area or not.
You can find some images to test inference with in this old repo from the original project
Model description
This model is a fine-tuned version of facebook/convnextv2-nano-22k-384 on the pszemraj/boulderspot dataset. It achieves the following results on the evaluation set:
- Loss: 0.0340
- Accuracy: 0.9883
- F1: 0.9883
- Precision: 0.9883
- Recall: 0.9883
- Matthews Correlation: 0.8962
example usage
import requests
from PIL import Image
from transformers import pipeline
pipe = pipeline(
"image-classification",
model="pszemraj/convnextv2-nano-22k-384-boulderspot",
)
url = "https://huggingface.co/pszemraj/convnextv2-nano-22k-384-boulderspot/resolve/main/test_img_magic_wood.png?download=true"
image = Image.open(requests.get(url, stream=True).raw)
result = pipe(image)[0]
print(result)
# image.show()
Intended uses & limitations
Classification of aerial/satellite imagery, ideally with spacial resolution 10-25 cm (i.e. for 10 cm, each pixel in the image corresonds to approx. 10 cm x 10 cm area on the ground). It may be suitable outside of that, but should be validated as other resolutions were not present in the training data.
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 16
- eval_batch_size: 16
- seed: 7890
- gradient_accumulation_steps: 4
- total_train_batch_size: 64
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_ratio: 0.05
- num_epochs: 5.0
Training results
| Training Loss | Epoch | Step | Validation Loss | Accuracy | F1 | Precision | Recall | Matthews Correlation |
|---|---|---|---|---|---|---|---|---|
| 0.1102 | 1.0 | 203 | 0.0431 | 0.9839 | 0.9840 | 0.9841 | 0.9839 | 0.8590 |
| 0.0559 | 2.0 | 406 | 0.0476 | 0.9839 | 0.9845 | 0.9858 | 0.9839 | 0.8709 |
| 0.0402 | 3.0 | 609 | 0.0464 | 0.9810 | 0.9817 | 0.9831 | 0.9810 | 0.8468 |
| 0.0334 | 4.0 | 813 | 0.0348 | 0.9868 | 0.9869 | 0.9870 | 0.9868 | 0.8846 |
| 0.0445 | 4.99 | 1015 | 0.0340 | 0.9883 | 0.9883 | 0.9883 | 0.9883 | 0.8962 |
Framework versions
- Transformers 4.39.2
- Pytorch 2.4.0.dev20240328+cu121
- Datasets 2.18.0
- Tokenizers 0.15.2
- Downloads last month
- 6
Model tree for pszemraj/convnextv2-nano-22k-384-boulderspot
Base model
facebook/convnextv2-nano-22k-384