*Memos:
- 
My post explains AugMix() about 
severityargument (1). - 
My post explains AugMix() about 
severityargument (2). - 
My post explains AugMix() about 
mixture_widthargument (1). - 
My post explains AugMix() about 
mixture_widthargument (2). - 
My post explains AugMix() about 
chain_depthargument (1). - 
My post explains AugMix() about 
chain_depthargument (2). - 
My post explains AugMix() about 
alphaargument (1). - 
My post explains AugMix() about 
alphaargument (2). - My post explains AutoAugment().
 - 
My post explains RandAugment() about 
num_opsandfillargument. - My post explains TrivialAugmentWide().
 - My post explains OxfordIIITPet().
 
AugMix() can randomly do AugMix to an image as shown below. *It's about no arguments and full argument:
*Memos:
- The 1st argument for initialization is 
severity(Optional-Default:3-Type:int). *It must be1 <= x <= 10. - The 2nd argument for initialization is 
mixture_width(Optional-Default:3-Type:int). - The 3rd argument for initialization is 
chain_depth(Optional-Default:-1-Type:int). *If it'sx <= 0, it's randomly taken from the interval[1, 3]. - The 4th argument for initialization is 
alpha(Optional-Default:1.0-Type:float). *It must be1 <= x. - The 5th argument for initialization is 
all_ops(Optional-Default:True-Type:bool). *It must be1 <= x. - The 6th argument for initialization is 
interpolation(Optional-Default:InterpolationMode.BILINEAR-Type:InterpolationMode): *Memos:- 
NEARESTandBILINEARmodes can be used. - My post explains InterpolationMode with and without anti-aliasing.
 
 - 
 - The 7th argument for initialization is 
fill(Optional-Default:0-Type:int,floatortuple/list(intorfloat)): *Memos:- It can change the background of an image. *The background can be seen when doing AugMix to an image.
 - A tuple/list must be the 1D with 1 or 3 elements.
 - If all values are 
x <= 0, it's black. - If all values are 
255 <= x, it's white. 
 - The 1st argument is 
img(Required-Type:PIL Imageortensor(int/float/complex/bool)): *Memos:- A tensor must be 2D or more D.
 - Don't use 
img=. 
 - 
v2is recommended to use according to V1 or V2? Which one should I use?. 
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import AugMix
from torchvision.transforms.functional import InterpolationMode
am = AugMix()
am = AugMix(severity=3, mixture_width=3, chain_depth=-1, alpha=1.0, 
            all_ops=True, interpolation=InterpolationMode.BILINEAR,
            fill=None)
am
# AugMix(interpolation=InterpolationMode.BILINEAR, severity=3,
#        mixture_width=3, chain_depth=-1, alpha=1.0, all_ops=True)
am.severity
# 3
am.mixture_width
# 3
am.chain_depth
# -1
am.alpha
# 1.0
am.all_ops
# True
am.interpolation
# <InterpolationMode.BILINEAR: 'bilinear'>
print(am.fill)
# None
origin_data = OxfordIIITPet(
    root="data",
    transform=None
)
noargs_data = OxfordIIITPet( # `noargs` is no arguments.
    root="data",
    transform=AugMix()
)
aoFalse_data = OxfordIIITPet( # `ao` is all_ops.
    root="data",
    transform=AugMix(all_ops=False)
    # transform=AugMix(severity=3, mixture_width=3, chain_depth=-1, 
    #                  alpha=1.0, all_ops=True,
    #                  interpolation=InterpolationMode.BILINEAR,
    #                  fill=None)
)
s10cd25fgray_data = OxfordIIITPet( # `s` is severity and `cd` is chain_depth.
    root="data",                   # `f` is fill.
    transform=AugMix(severity=10, chain_depth=25, fill=150)
)
s10cd25fpurple_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=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=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
show_images1(data=noargs_data, main_title="noargs_data")
print()
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
show_images1(data=aoFalse_data, main_title="aoFalse_data")
print()
show_images1(data=s10cd25fgray_data, main_title="s10cd25fgray_data")
show_images1(data=s10cd25fpurple_data, main_title="s10cd25fpurple_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="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
show_images2(data=origin_data, main_title="noargs_data")
print()
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
show_images2(data=origin_data, main_title="aoFalse_data", ao=False)
print()
show_images2(data=origin_data, main_title="s10cd25fgray_data", s=10, cd=25,
             f=150)
show_images2(data=origin_data, main_title="s10cd25fpurple_data", s=10, 
             cd=25, f=[160, 32, 240])























    
Top comments (0)