*Memos:
-
My post explains AugMix() about no arguments and
full
argument. -
My post explains AugMix() about
severity
argument (1). -
My post explains AugMix() about
severity
argument (2). -
My post explains AugMix() about
severity
argument (3). -
My post explains AugMix() about
mixture_width
argument (1). -
My post explains AugMix() about
mixture_width
argument (2). -
My post explains AugMix() about
mixture_width
argument (3). -
My post explains AugMix() about
chain_depth
argument (1). -
My post explains AugMix() about
chain_depth
argument (2). -
My post explains AugMix() about
alpha
argument (1). -
My post explains AugMix() about
alpha
argument (2). -
My post explains AugMix() about
alpha
argument (3). -
My post explains AugMix() about
severity
argument withmixture_width=0
,chain_depth=0
andalpha=0.0
andmixture_width
argument withseverity=1
,chain_depth=0
andalpha=0.0
. -
My post explains AugMix() about
chain_depth
argument withseverity=1
,mixture_width=0
andalpha=0.0
andalpha
argument withseverity=1
,mixture_width=0
andchain_depth=0
.
AugMix() can randomly do AugMix to an image as shown below. *It's about chain_depth
argument (3):
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)
)
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")
# ↓ ↓ ↓ ↓ ↓ ↓ 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)
Top comments (0)