Stay updated
News & InsightsAPI ReferenceTransforms & TargetsLib ComparisonTargets by TransformFAQAlbumentations License Guide
Applying the same augmentation with the same parameters to multiple images, masks, bounding boxes, or keypointsCustom Albumentations augmentations and Ultralytics as the projectD4 transformDebugging an augmentation pipeline with ReplayComposeDefining a simple augmentation pipeline for image augmentationDomain adaptation transformsExample on how load and save from Hugging Face HubExample on how to write on top of imagesexample_xymaskingFace Landmark Detection with AlbumentationsX: Keypoint Label SwappingHow to save and load parameters of an augmentation pipelineHow to use Albumentations for detection tasks if you need to keep all bounding boxesKeras + Albumentations: Cats vs Dogs ClassificationLoad the image from the diskMigrating from torchvision to AlbumentationsMorphological TransformMosaic Transform ExampleOBB Augmentation with Affine Transform: Boats ExampleOverlay ElementsPyTorch and Albumentations for image classificationPyTorch and Albumentations for semantic segmentationRandomGridShuffleSemantic Segmentation with Pretrained U-Net in Keras + AlbumentationsShowcase. Cool augmentation examples on diverse set of images from various real-world tasks.Using Albumentations for a semantic segmentation taskUsing Albumentations to augment bounding boxes for object detection tasksUsing Albumentations to augment keypointsWeather augmentations in Albumentations
title: "example hfhub" notebookName: "example_hfhub.ipynb"
Open in Google ColabRun this notebook interactively
Example on how load and save from Hugging Face Hub
Author: Pavel Iakubovskii
from huggingface_hub import notebook_login
/opt/homebrew/Caskroom/miniconda/base/envs/albumentations_examples/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
notebook_login()
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
File /opt/homebrew/Caskroom/miniconda/base/envs/albumentations_examples/lib/python3.9/site-packages/huggingface_hub/_login.py:340, in notebook_login(new_session, write_permission)
339 try:
--> 340 import ipywidgets.widgets as widgets # type: ignore
341 from IPython.display import display # type: ignore
ModuleNotFoundError: No module named 'ipywidgets'
During handling of the above exception, another exception occurred:
ImportError Traceback (most recent call last)
Cell In[4], line 1
----> 1 notebook_login()
File /opt/homebrew/Caskroom/miniconda/base/envs/albumentations_examples/lib/python3.9/site-packages/huggingface_hub/utils/_deprecation.py:101, in _deprecate_arguments.<locals>._inner_deprecate_positional_args.<locals>.inner_f(*args, **kwargs)
99 message += "\n\n" + custom_message
100 warnings.warn(message, FutureWarning)
--> 101 return f(*args, **kwargs)
File /opt/homebrew/Caskroom/miniconda/base/envs/albumentations_examples/lib/python3.9/site-packages/huggingface_hub/utils/_deprecation.py:31, in _deprecate_positional_args.<locals>._inner_deprecate_positional_args.<locals>.inner_f(*args, **kwargs)
29 extra_args = len(args) - len(all_args)
30 if extra_args <= 0:
---> 31 return f(*args, **kwargs)
32 # extra_args > 0
33 args_msg = [
34 f"{name}='{arg}'" if isinstance(arg, str) else f"{name}={arg}"
35 for name, arg in zip(kwonly_args[:extra_args], args[-extra_args:])
36 ]
File /opt/homebrew/Caskroom/miniconda/base/envs/albumentations_examples/lib/python3.9/site-packages/huggingface_hub/_login.py:343, in notebook_login(new_session, write_permission)
341 from IPython.display import display # type: ignore
342 except ImportError:
--> 343 raise ImportError(
344 "The `notebook_login` function can only be used in a notebook (Jupyter or"
345 " Colab) and you need the `ipywidgets` module: `pip install ipywidgets`."
346 )
347 if not new_session and get_token() is not None:
348 logger.info("User is already logged in.")
ImportError: The `notebook_login` function can only be used in a notebook (Jupyter or Colab) and you need the `ipywidgets` module: `pip install ipywidgets`.
import albumentations as A
transform = A.Compose(
[
A.RandomCrop(256, 256),
A.HorizontalFlip(),
A.RandomBrightnessContrast(),
A.RGBShift(),
A.Normalize(),
],
seed=137,
strict=True,
)
evaluation_transform = A.Compose(
[
A.PadIfNeeded(256, 256),
A.Normalize(),
],
seed=137,
strict=True,
)
transform.save_pretrained("qubvel-hf/albu", key="train")
# ^ this will save the transform to a directory "qubvel-hf/albu" with filename "albumentations_config_train.json"
transform.save_pretrained("qubvel-hf/albu", key="train", push_to_hub=True)
# ^ this will save the transform to a directory "qubvel-hf/albu" with filename "albumentations_config_train.json"
# + push the transform to the Hub to the repository "qubvel-hf/albu"
transform.push_to_hub("qubvel-hf/albu", key="train")
# ^ this will push the transform to the Hub to the repository "qubvel-hf/albu" (without saving it locally)
loaded_transform = A.Compose.from_pretrained("qubvel-hf/albu", key="train")
# ^ this will load the transform from local folder if exist or from the Hub repository "qubvel-hf/albu"
evaluation_transform.save_pretrained("qubvel-hf/albu", key="eval", push_to_hub=True)
# ^ this will save the transform to a directory "qubvel-hf/albu" with filename "albumentations_config_eval.json"
loaded_evaluation_transform = A.Compose.from_pretrained("qubvel-hf/albu", key="eval")
# ^ this will load the transform from the Hub repository "qubvel-hf/albu"
# check
import numpy as np
image = np.random.randint(0, 255, (100, 200, 3), dtype=np.uint8)
preprocessed_image_1 = evaluation_transform(image=image)["image"]
preprocessed_image_2 = loaded_evaluation_transform(image=image)["image"]
assert np.allclose(preprocessed_image_1, preprocessed_image_2)