*Memos:
-
My post explains AugMix() about
severity
argument (1). -
My post explains AugMix() about
severity
argument (2). - My post explains AutoAugment().
-
My post explains RandAugment() about
num_ops
andfill
argument. - 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.NEAREST
-Type:InterpolationMode). *If the input is a tensor, onlyInterpolationMode.NEAREST
andInterpolationMode.BILINEAR
can be set to it. - The 7th argument for initialization is
fill
(Optional-Default:0
-Type:int
,float
ortuple
/list
(int
orfloat
)): *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 Image
ortensor
(int
)): *Memos:- A tensor must be 2D or 3D.
- Don't use
img=
.
-
v2
is 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)