RandAugment in PyTorch (3)

Buy Me a Coffee☕

*Memos:

My post explains RandAugment() about no arguments and fill argument.

My post explains RandAugment() about num_ops and fill argument.

My post explains RandAugment() about num_magnitude_bins argument.

RandAugment() can ra…


This content originally appeared on DEV Community and was authored by Super Kai (Kazuya Ito)

Buy Me a Coffee

*Memos:

RandAugment() can randomly augment an image as shown below. *It's about magnitude and fill argument:

from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandAugment
from torchvision.transforms.functional import InterpolationMode

origin_data = OxfordIIITPet(
    root="data",
    transform=None
)

m0_data = OxfordIIITPet( # `m` is magnitude.
    root="data",
    transform=RandAugment(magnitude=0)
)

m1_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=1)
)

m2_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=2)
)

m5_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=5)
)

m10_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=10)
)

m25_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=25)
)

no1000m0_data = OxfordIIITPet( # `no` is num_ops.
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=0)
)

no1000m1_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=1)
)

no1000m2_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=2)
)

no1000m5_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=5)
)

no1000m10_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=10)
)

no1000m25_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=25)
)

m0nmb1000_data = OxfordIIITPet( # `nmb` is num_magnitude_bins.
    root="data",
    transform=RandAugment(magnitude=0, num_magnitude_bins=1000)
)

m1nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=1, num_magnitude_bins=1000)
)

m2nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=2, num_magnitude_bins=1000)
)

m5nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=5, num_magnitude_bins=1000)
)

m10nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=10, num_magnitude_bins=1000)
)

m25nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=25, num_magnitude_bins=1000)
)

m50nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=50, num_magnitude_bins=1000)
)

m100nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=100, num_magnitude_bins=1000)
)

m500nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=500, num_magnitude_bins=1000)
)

m999nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=999, num_magnitude_bins=1000)
)

no1000m0nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=0, num_magnitude_bins=1000)
)

no1000m1nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=1, num_magnitude_bins=1000)
)

no1000m2nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=2, num_magnitude_bins=1000)
)

no1000m5nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=5, num_magnitude_bins=1000)
)

no1000m10nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=10, num_magnitude_bins=1000)
)

no1000m25nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=25, num_magnitude_bins=1000)
)

no1000m50nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=50, num_magnitude_bins=1000)
)

no1000m100nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=100, num_magnitude_bins=1000)
)

no1000m500nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=500, num_magnitude_bins=1000)
)

no1000m999nmb1000_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(num_ops=1000, magnitude=999, num_magnitude_bins=1000)
)

m25fgray_data = OxfordIIITPet( # `f` is fill.
    root="data",
    transform=RandAugment(magnitude=25, fill=150)
    # transform=RandAugment(magnitude=25, fill=[150])
)

m25fpurple_data = OxfordIIITPet(
    root="data",
    transform=RandAugment(magnitude=25, fill=[160, 32, 240])
)

import matplotlib.pyplot as plt

def show_images1(data, main_title=None):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    for i, (im, _) in zip(range(1, 6), data):
        plt.subplot(1, 5, i)
        plt.imshow(X=im)
        plt.xticks(ticks=[])
        plt.yticks(ticks=[])
    plt.tight_layout()
    plt.show()

show_images1(data=origin_data, main_title="origin_data")
print()
show_images1(data=m0_data, main_title="m0_data")
show_images1(data=m1_data, main_title="m1_data")
show_images1(data=m2_data, main_title="m2_data")
show_images1(data=m5_data, main_title="m5_data")
show_images1(data=m10_data, main_title="m10_data")
show_images1(data=m25_data, main_title="m25_data")
print()
show_images1(data=no1000m0_data, main_title="no1000m0_data")
show_images1(data=no1000m1_data, main_title="no1000m1_data")
show_images1(data=no1000m2_data, main_title="no1000m2_data")
show_images1(data=no1000m5_data, main_title="no1000m5_data")
show_images1(data=no1000m10_data, main_title="no1000m10_data")
show_images1(data=no1000m25_data, main_title="no1000m25_data")
print()
show_images1(data=m0nmb1000_data, main_title="m0nmb1000_data")
show_images1(data=m1nmb1000_data, main_title="m1nmb1000_data")
show_images1(data=m2nmb1000_data, main_title="m2nmb1000_data")
show_images1(data=m5nmb1000_data, main_title="m5nmb1000_data")
show_images1(data=m10nmb1000_data, main_title="m10nmb1000_data")
show_images1(data=m25nmb1000_data, main_title="m25nmb1000_data")
show_images1(data=m50nmb1000_data, main_title="m50nmb1000_data")
show_images1(data=m100nmb1000_data, main_title="m100nmb1000_data")
show_images1(data=m500nmb1000_data, main_title="m500nmb1000_data")
show_images1(data=m999nmb1000_data, main_title="m999nmb1000_data")
print()
show_images1(data=no1000m0nmb1000_data, main_title="no1000m0nmb1000_data")
show_images1(data=no1000m1nmb1000_data, main_title="no1000m1nmb1000_data")
show_images1(data=no1000m2nmb1000_data, main_title="no1000m2nmb1000_data")
show_images1(data=no1000m5nmb1000_data, main_title="no1000m5nmb1000_data")
show_images1(data=no1000m10nmb1000_data, main_title="no1000m10nmb1000_data")
show_images1(data=no1000m25nmb1000_data, main_title="no1000m25nmb1000_data")
show_images1(data=no1000m50nmb1000_data, main_title="no1000m50nmb1000_data")
show_images1(data=no1000m100nmb1000_data, main_title="no1000m100nmb1000_data")
show_images1(data=no1000m500nmb1000_data, main_title="no1000m500nmb1000_data")
show_images1(data=no1000m999nmb1000_data, main_title="no1000m999nmb1000_data")
print()
show_images1(data=m25fgray_data, main_title="m25fgray_data")
show_images1(data=m25fpurple_data, main_title="m25fpurple_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, no=2, m=9, nmb=31,
                 ip=InterpolationMode.NEAREST, f=None):
    plt.figure(figsize=[10, 5])
    plt.suptitle(t=main_title, y=0.8, fontsize=14)
    if main_title != "origin_data":
        for i, (im, _) in zip(range(1, 6), data):
            plt.subplot(1, 5, i)
            ra = RandAugment(num_ops=no, magnitude=m,
                             num_magnitude_bins=nmb,
                             interpolation=ip, fill=f)
            plt.imshow(X=ra(im))
            plt.xticks(ticks=[])
            plt.yticks(ticks=[])
    else:
        for i, (im, _) in zip(range(1, 6), data):
            plt.subplot(1, 5, i)
            plt.imshow(X=im)
            plt.xticks(ticks=[])
            plt.yticks(ticks=[])
    plt.tight_layout()
    plt.show()

show_images2(data=origin_data, main_title="origin_data")
print()
show_images2(data=origin_data, main_title="m0_data", m=0)
show_images2(data=origin_data, main_title="m1_data", m=1)
show_images2(data=origin_data, main_title="m2_data", m=2)
show_images2(data=origin_data, main_title="m5_data", m=5)
show_images2(data=origin_data, main_title="m10_data", m=10)
show_images2(data=origin_data, main_title="m25_data", m=25)
print()
show_images2(data=origin_data, main_title="no1000m0_data", no=1000, m=0)
show_images2(data=origin_data, main_title="no1000m1_data", no=1000, m=1)
show_images2(data=origin_data, main_title="no1000m2_data", no=1000, m=2)
show_images2(data=origin_data, main_title="no1000m5_data", no=1000, m=5)
show_images2(data=origin_data, main_title="no1000m10_data", no=1000, m=10)
show_images2(data=origin_data, main_title="no1000m25_data", no=1000, m=25)
print()
show_images2(data=origin_data, main_title="m0nmb1000_data", m=0, nmb=1000)
show_images2(data=origin_data, main_title="m1nmb1000_data", m=1, nmb=1000)
show_images2(data=origin_data, main_title="m2nmb1000_data", m=2, nmb=1000)
show_images2(data=origin_data, main_title="m5nmb1000_data", m=5, nmb=1000)
show_images2(data=origin_data, main_title="m10nmb1000_data", m=10, nmb=1000)
show_images2(data=origin_data, main_title="m25nmb1000_data", m=25, nmb=1000)
show_images2(data=origin_data, main_title="m50nmb1000_data", m=50, nmb=1000)
show_images2(data=origin_data, main_title="m100nmb1000_data", m=100, nmb=1000)
show_images2(data=origin_data, main_title="m500nmb1000_data", m=500, nmb=1000)
show_images2(data=origin_data, main_title="m999nmb1000_data", m=999, nmb=1000)
print()
show_images2(data=origin_data, main_title="no1000m0nmb1000_data", no=1000, m=0,
             nmb=1000)
show_images2(data=origin_data, main_title="no1000m1nmb1000_data", no=1000, m=1,
             nmb=1000)
show_images2(data=origin_data, main_title="no1000m2nmb1000_data", no=1000, m=2,
             nmb=1000)
show_images2(data=origin_data, main_title="no1000m5nmb1000_data", no=1000, m=5,
             nmb=1000)
show_images2(data=origin_data, main_title="no1000m10nmb1000_data", no=1000,
             m=10, nmb=1000)
show_images2(data=origin_data, main_title="no1000m25nmb1000_data", no=1000,
             m=25, nmb=1000)
show_images2(data=origin_data, main_title="no1000m50nmb1000_data", no=1000,
             m=50, nmb=1000)
show_images2(data=origin_data, main_title="no1000m100nmb1000_data", no=1000,
             m=100, nmb=1000)
show_images2(data=origin_data, main_title="no1000m500nmb1000_data", no=1000,
             m=500, nmb=1000)
show_images2(data=origin_data, main_title="no1000m999nmb1000_data", no=1000,
             m=999, nmb=1000)
print()
show_images2(data=origin_data, main_title="m25fgray_data", m=25, f=150)
show_images2(data=origin_data, main_title="m25fpurple_data", m=25,
             f=[160, 32, 240])

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description


This content originally appeared on DEV Community and was authored by Super Kai (Kazuya Ito)


Print Share Comment Cite Upload Translate Updates
APA

Super Kai (Kazuya Ito) | Sciencx (2025-03-16T12:34:49+00:00) RandAugment in PyTorch (3). Retrieved from https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/

MLA
" » RandAugment in PyTorch (3)." Super Kai (Kazuya Ito) | Sciencx - Sunday March 16, 2025, https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/
HARVARD
Super Kai (Kazuya Ito) | Sciencx Sunday March 16, 2025 » RandAugment in PyTorch (3)., viewed ,<https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/>
VANCOUVER
Super Kai (Kazuya Ito) | Sciencx - » RandAugment in PyTorch (3). [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/
CHICAGO
" » RandAugment in PyTorch (3)." Super Kai (Kazuya Ito) | Sciencx - Accessed . https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/
IEEE
" » RandAugment in PyTorch (3)." Super Kai (Kazuya Ito) | Sciencx [Online]. Available: https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/. [Accessed: ]
rf:citation
» RandAugment in PyTorch (3) | Super Kai (Kazuya Ito) | Sciencx | https://www.scien.cx/2025/03/16/randaugment-in-pytorch-3/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.