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

Feb 16, 2025 - 06:22
 0
GaussianBlur in PyTorch (2)

Buy Me a Coffee

*Memos:

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])

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