Model Card: Gym Machines Image Classifier
Dataset Description
The model was trained and evaluated on the ysakhale/gym-machines-image-dataset.
This dataset contains images of various gym machines, split into 'original' and 'augmented' subsets.
The augmented subset was used for training and tuning.
Intended Use
This model is intended for image classification of gym machines. It can be used to identify different types of gym equipment from images.
Limitations
The model's performance may be limited on images that differ significantly from the training data (e.g., different lighting conditions, angles, or machine types not present in the dataset). Potential biases in the dataset might affect the model's ability to generalize to certain real-world scenarios.
Training Hyperparameters
The following hyperparameters were used for training the AutoGluon MultiModalPredictor:
- presets: "medium_quality"
- model.names: ["timm_image"]
- model.timm_image.checkpoint_name: "resnet18"
Evaluation Results
The model was evaluated on the original test set (df_orig).
- Accuracy: 62.50%
- Weighted F1: 0.5288
Example Usage
Loading from pickled predictor
import cloudpickle
from huggingface_hub import hf_hub_download
from autogluon.multimodal import MultiModalPredictor
import pandas as pd
model_repo_id = "mohitk24/image_autogluon_predictor"
pkl_filename = "autogluon_image_predictor.pkl"
# Download the pickled predictor
pkl_local_path = hf_hub_download(
repo_id=model_repo_id,
repo_type="model",
filename=pkl_filename,
local_dir="./downloaded_model",
local_dir_use_symlinks=False # Set to True if you prefer symlinks
)
# Load the predictor from the pickle file
with open(pkl_local_path, "rb") as f:
predictor_from_hub = cloudpickle.load(f)
# Example prediction (replace with your image path or DataFrame)
# Assuming you have a DataFrame 'test_df' with an 'image' column
# results_quick = predictor_from_hub.predict(test_df[["image"]])
# print(results_quick)
Loading from native AutoGluon directory
import zipfile
import shutil
from huggingface_hub import hf_hub_download
from autogluon.multimodal import MultiModalPredictor
import pandas as pd
import pathlib
model_repo_id = "mohitk24/image_autogluon_predictor"
zip_filename = "autogluon_image_predictor_dir.zip"
download_dir = pathlib.Path("./downloaded_model_native")
# Download the zipped predictor directory
zip_local_path = hf_hub_download(
repo_id=model_repo_id,
repo_type="model",
filename=zip_filename,
local_dir=str(download_dir),
local_dir_use_symlinks=False # Set to True if you prefer symlinks
)
# Extract the predictor directory
native_dir = download_dir / "predictor_dir"
if native_dir.exists():
shutil.rmtree(native_dir)
native_dir.mkdir(parents=True, exist_ok=True)
with zipfile.ZipFile(zip_local_path, "r") as zf:
zf.extractall(str(native_dir))
# Load the predictor from the native directory
predictor_native = MultiModalPredictor.load(str(native_dir))
# Example prediction (replace with your image path or DataFrame)
# Assuming you have a DataFrame 'test_df' with an 'image' column
# y_pred_native = predictor_native.predict(test_df[["image"]])
# print(y_pred_native)
Known Failure Modes
- Lower performance on original data: The model was trained on an augmented dataset, which may lead to lower performance on the original, unaugmented images. The evaluation results on the original test set (
df_orig) reflect this potential drop in performance. - Underrepresented classes: If certain types of gym machines are not well-represented in the training data, the model may struggle to classify them accurately.
- Downloads last month
- 10