Buy Me a Coffee

*Memos:

AugMix() can randomly do AugMix to an image as shown below. *It's about chain_depth argument (2):

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

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

cd0a50_data = OxfordIIITPet( # `cd` is chain_depth and `a` is alpha.
    root="data",
    transform=AugMix(chain_depth=0, alpha=50.0)
)

cd1a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=1, alpha=50.0)
)

cd2a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=2, alpha=50.0)
)

cd5a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=5, alpha=50.0)
)

cd10a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=10, alpha=50.0)
)

cd25a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=25, alpha=50.0)
)

cd50a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(chain_depth=50, alpha=50.0)
)

s10mw50cd0a50_data = OxfordIIITPet( # `s` is severity.
    root="data",                    # `mw` is mixture_width.
    transform=AugMix(severity=10, mixture_width=50, chain_depth=0,
                     alpha=50.0)
)

s10mw50cd1a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=1,
                     alpha=50.0)
)

s10mw50cd2a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=2,
                     alpha=50.0)
)

s10mw50cd5a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=5,
                     alpha=50.0)
)

s10mw50cd10a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=10,
                     alpha=50.0)
)

s10mw50cd25a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=25,
                     alpha=50.0)
)

s10mw50cd50a50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, mixture_width=50, chain_depth=50,
                     alpha=50.0)
)

s1mw0cd0a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=0, alpha=0.0)
)

s1mw0cd1a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=1, alpha=0.0)
)

s1mw0cd2a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=2, alpha=0.0)
)

s1mw0cd5a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=5, alpha=0.0)
)

s1mw0cd10a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=10, alpha=0.0)
)

s1mw0cd25a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=25, alpha=0.0)
)

s1mw0cd50a0_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=1, mixture_width=0, chain_depth=50, alpha=0.0)
)

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=cd0a50_data, main_title="cd0a50_data")
show_images1(data=cd1a50_data, main_title="cd1a50_data")
show_images1(data=cd2a50_data, main_title="cd2a50_data")
show_images1(data=cd5a50_data, main_title="cd5a50_data")
show_images1(data=cd10a50_data, main_title="cd10a50_data")
show_images1(data=cd25a50_data, main_title="cd25a50_data")
show_images1(data=cd50a50_data, main_title="cd50a50_data")
print()
show_images1(data=s10mw50cd0a50_data, main_title="s10mw50cd0a50_data")
show_images1(data=s10mw50cd1a50_data, main_title="s10mw50cd1a50_data")
show_images1(data=s10mw50cd2a50_data, main_title="s10mw50cd2a50_data")
show_images1(data=s10mw50cd5a50_data, main_title="s10mw50cd5a50_data")
show_images1(data=s10mw50cd10a50_data, main_title="s10mw50cd10a50_data")
show_images1(data=s10mw50cd25a50_data, main_title="s10mw50cd25a50_data")
show_images1(data=s10mw50cd50a50_data, main_title="s10mw50cd50a50_data")
print()
show_images1(data=s1mw0cd0a0_data, main_title="s1mw0cd0a0_data")
show_images1(data=s1mw0cd1a0_data, main_title="s1mw0cd1a0_data")
show_images1(data=s1mw0cd2a0_data, main_title="s1mw0cd2a0_data")
show_images1(data=s1mw0cd5a0_data, main_title="s1mw0cd5a0_data")
show_images1(data=s1mw0cd10a0_data, main_title="s1mw0cd10a0_data")
show_images1(data=s1mw0cd25a0_data, main_title="s1mw0cd25a0_data")
show_images1(data=s1mw0cd50a0_data, main_title="s1mw0cd50a0_data")

# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, s=3, mw=3, cd=-1, a=1.0,
                 ao=True, ip=InterpolationMode.BILINEAR, 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)
            am = AugMix(severity=s, mixture_width=mw, chain_depth=cd,
                        alpha=a, all_ops=ao, interpolation=ip, fill=f)
            plt.imshow(X=am(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="cd0a50_data", cd=0, a=50.0)
show_images2(data=origin_data, main_title="cd1a50_data", cd=1, a=50.0)
show_images2(data=origin_data, main_title="cd2a50_data", cd=2, a=50.0)
show_images2(data=origin_data, main_title="cd5a50_data", cd=5, a=50.0)
show_images2(data=origin_data, main_title="cd10a50_data", cd=10, a=50.0)
show_images2(data=origin_data, main_title="cd25a50_data", cd=25, a=50.0)
show_images2(data=origin_data, main_title="cd50a50_data", cd=50, a=50.0)
print()
show_images2(data=origin_data, main_title="s10mw50cd0a50_data", s=10, mw=50,
             cd=0, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd1a50_data", s=10, mw=50,
             cd=1, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd2a50_data", s=10, mw=50,
             cd=2, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd5a50_data", s=10, mw=50,
             cd=5, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd10a50_data", s=10, mw=50,
             cd=10, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd25a50_data", s=10, mw=50,
             cd=25, a=50.0)
show_images2(data=origin_data, main_title="s10mw50cd50a50_data", s=10, mw=50,
             cd=50, a=50.0)
print()
show_images2(data=origin_data, main_title="s1mw0cd0a0_data", s=1, mw=0, cd=0,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd1a0_data", s=1, mw=0, cd=1,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd2a0_data", s=1, mw=0, cd=2,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd5a0_data", s=1, mw=0, cd=5,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd10a0_data", s=1, mw=0, cd=10,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd25a0_data", s=1, mw=0, cd=25,
             a=0.0)
show_images2(data=origin_data, main_title="s1mw0cd50a0_data", s=1, mw=0, cd=50,
             a=0.0)

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