GaussianBlur in PyTorch (2)
Buy Me a Coffee☕ *Memos: My post explains GaussianBlur() about kernel_size argument. My post explains OxfordIIITPet(). GaussianBlur() can randomly blur an image as shown below: from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import GaussianBlur origin_data = OxfordIIITPet( root="data", transform=None ) ks1s01_data = OxfordIIITPet( # `ks` is kernel_size. root="data", transform=GaussianBlur(kernel_size=1, sigma=0.1) ) ks1s1_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=1) ) ks1s5_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=5) ) ks1s10_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=10) ) ks1s15_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=15) ) ks1s25_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=25) ) ks1s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=50) ) ks1s01_50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=[0.1, 50]) ) ks1s01_10_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=[0.1, 10]) ) ks1s10_50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=1, sigma=[10, 50]) ) ks101s01_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=0.1) ) ks101s1_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=1) ) ks101s5_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=5) ) ks101s10_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=10) ) ks101s15_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=15) ) ks101s25_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=25) ) ks101s50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=50) ) ks101s01_50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=[0.1, 50]) ) ks101s01_10_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=[0.1, 10]) ) ks101s10_50_data = OxfordIIITPet( root="data", transform=GaussianBlur(kernel_size=101, sigma=[10, 50]) ) 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") show_images1(data=ks1s01_data, main_title="ks1s01_data") show_images1(data=ks1s1_data, main_title="ks1s1_data") show_images1(data=ks1s5_data, main_title="ks1s5_data") show_images1(data=ks1s10_data, main_title="ks1s10_data") show_images1(data=ks1s15_data, main_title="ks1s15_data") show_images1(data=ks1s25_data, main_title="ks1s25_data") show_images1(data=ks1s50_data, main_title="ks1s50_data") show_images1(data=ks1s01_50_data, main_title="ks1s01_50_data") show_images1(data=ks1s01_10_data, main_title="ks1s01_10_data") show_images1(data=ks1s10_50_data, main_title="ks1s10_50_data") print() show_images1(data=origin_data, main_title="origin_data") show_images1(data=ks101s01_data, main_title="ks101s01_data") show_images1(data=ks101s1_data, main_title="ks101s1_data") show_images1(data=ks101s5_data, main_title="ks101s5_data") show_images1(data=ks101s10_data, main_title="ks101s10_data") show_images1(data=ks101s15_data, main_title="ks101s15_data") show_images1(data=ks101s25_data, main_title="ks101s25_data") show_images1(data=ks101s50_data, main_title="ks101s50_data") show_images1(data=ks101s01_50_data, main_title="ks101s01_50_data") show_images1(data=ks101s01_10_data, main_title="ks101s01_10_data") show_images1(data=ks101s10_50_data, main_title="ks101s10_50_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) if ks: for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) gb = GaussianBlur(kernel_size=ks, sigma=s) plt.imshow(X=gb(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") show_images2(data=origin_data, main_title="ks1s01_data", ks=1, s=0.1) show

*Memos:
-
My post explains GaussianBlur() about
kernel_size
argument. - My post explains OxfordIIITPet().
GaussianBlur() can randomly blur an image as shown below:
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import GaussianBlur
origin_data = OxfordIIITPet(
root="data",
transform=None
)
ks1s01_data = OxfordIIITPet( # `ks` is kernel_size.
root="data",
transform=GaussianBlur(kernel_size=1, sigma=0.1)
)
ks1s1_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=1)
)
ks1s5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=5)
)
ks1s10_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=10)
)
ks1s15_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=15)
)
ks1s25_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=25)
)
ks1s50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=50)
)
ks1s01_50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=[0.1, 50])
)
ks1s01_10_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=[0.1, 10])
)
ks1s10_50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=[10, 50])
)
ks101s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=0.1)
)
ks101s1_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=1)
)
ks101s5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=5)
)
ks101s10_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=10)
)
ks101s15_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=15)
)
ks101s25_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=25)
)
ks101s50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=50)
)
ks101s01_50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=[0.1, 50])
)
ks101s01_10_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=[0.1, 10])
)
ks101s10_50_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=[10, 50])
)
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")
show_images1(data=ks1s01_data, main_title="ks1s01_data")
show_images1(data=ks1s1_data, main_title="ks1s1_data")
show_images1(data=ks1s5_data, main_title="ks1s5_data")
show_images1(data=ks1s10_data, main_title="ks1s10_data")
show_images1(data=ks1s15_data, main_title="ks1s15_data")
show_images1(data=ks1s25_data, main_title="ks1s25_data")
show_images1(data=ks1s50_data, main_title="ks1s50_data")
show_images1(data=ks1s01_50_data, main_title="ks1s01_50_data")
show_images1(data=ks1s01_10_data, main_title="ks1s01_10_data")
show_images1(data=ks1s10_50_data, main_title="ks1s10_50_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks101s01_data, main_title="ks101s01_data")
show_images1(data=ks101s1_data, main_title="ks101s1_data")
show_images1(data=ks101s5_data, main_title="ks101s5_data")
show_images1(data=ks101s10_data, main_title="ks101s10_data")
show_images1(data=ks101s15_data, main_title="ks101s15_data")
show_images1(data=ks101s25_data, main_title="ks101s25_data")
show_images1(data=ks101s50_data, main_title="ks101s50_data")
show_images1(data=ks101s01_50_data, main_title="ks101s01_50_data")
show_images1(data=ks101s01_10_data, main_title="ks101s01_10_data")
show_images1(data=ks101s10_50_data, main_title="ks101s10_50_data")
# ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)):
plt.figure(figsize=[10, 5])
plt.suptitle(t=main_title, y=0.8, fontsize=14)
if ks:
for i, (im, _) in zip(range(1, 6), data):
plt.subplot(1, 5, i)
gb = GaussianBlur(kernel_size=ks, sigma=s)
plt.imshow(X=gb(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")
show_images2(data=origin_data, main_title="ks1s01_data", ks=1, s=0.1)
show_images2(data=origin_data, main_title="ks1s1_data", ks=1, s=1)
show_images2(data=origin_data, main_title="ks1s5_data", ks=1, s=5)
show_images2(data=origin_data, main_title="ks1s10_data", ks=1, s=10)
show_images2(data=origin_data, main_title="ks1s15_data", ks=1, s=15)
show_images2(data=origin_data, main_title="ks1s25_data", ks=1, s=25)
show_images2(data=origin_data, main_title="ks1s50_data", ks=1, s=50)
show_images2(data=origin_data, main_title="ks1s01_50_data", ks=1,
s=[0.1, 50])
show_images2(data=origin_data, main_title="ks1s01_10_data", ks=1,
s=[0.1, 10])
show_images2(data=origin_data, main_title="ks1s10_50_data", ks=1,
s=[10, 50])
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks101s01_data", ks=101, s=0.1)
show_images2(data=origin_data, main_title="ks101s1_data", ks=101, s=1)
show_images2(data=origin_data, main_title="ks101s5_data", ks=101, s=5)
show_images2(data=origin_data, main_title="ks101s10_data", ks=101, s=10)
show_images2(data=origin_data, main_title="ks101s15_data", ks=101, s=15)
show_images2(data=origin_data, main_title="ks101s25_data", ks=101, s=25)
show_images2(data=origin_data, main_title="ks101s50_data", ks=101, s=50)
show_images2(data=origin_data, main_title="ks101s01_50_data", ks=101,
s=[0.1, 50])
show_images2(data=origin_data, main_title="ks101s01_10_data", ks=101,
s=[0.1, 10])
show_images2(data=origin_data, main_title="ks101s10_50_data", ks=101,
s=[10, 50])