GaussianBlur in PyTorch (1)
Buy Me a Coffee☕ *Memos: My post explains OxfordIIITPet(). GaussianBlur() can randomly blur an image as shown below: *Memos: The 1st argument for initialization is num_output_channels(Required-Type:int or tuple/list(int)): *Memos: It's [height, width]. It must be odd 1

*Memos:
- My post explains OxfordIIITPet().
GaussianBlur() can randomly blur an image as shown below:
*Memos:
- The 1st argument for initialization is
num_output_channels
(Required-Type:int
ortuple
/list
(int
)): *Memos:- It's
[height, width]
. - It must be odd
1 <= x
. - A tuple/list must be the 1D with 1 or 2 elements.
- A single value(
int
ortuple/list
(int
)) means[num_output_channels, num_output_channels]
.
- It's
- The 2nd argument for initialization is
sigma
(Optional-Default:(0.1, 2.0)
-Type:int
ortuple
/list
(int
)): *Memos:- It's
[min, max]
so it must bemin <= max
. - It must be
0 < x
. - A tuple/list must be the 1D with 1 or 2 elements.
- A single value(
int
ortuple/list
(int
)) means[sigma, sigma]
.
- It's
- 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 GaussianBlur
gaussianblur = GaussianBlur(kernel_size=1)
gaussianblur = GaussianBlur(kernel_size=1, sigma=(0.1, 2.0))
gaussianblur
# GaussianBlur(kernel_size=(1, 1), sigma=[0.1, 2.0])
gaussianblur.kernel_size
# (1, 1)
gaussianblur.sigma
# [0.1, 2.0]
origin_data = OxfordIIITPet(
root="data",
transform=None
)
ks1_data = OxfordIIITPet( # `ks` is kernel_size.
root="data",
transform=GaussianBlur(kernel_size=1)
# transform=GaussianBlur(kernel_size=[1])
# transform=GaussianBlur(kernel_size=[1, 1])
)
ks5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=5)
)
ks11_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=11)
)
ks51_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=51)
)
ks101_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101)
)
ks5_51_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[5, 51])
)
ks51_5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[51, 5])
)
ks1s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=0.1)
)
ks5s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=5, sigma=0.1)
)
ks11s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=11, sigma=0.1)
)
ks51s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=51, sigma=0.1)
)
ks101s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=0.1)
)
ks9_51s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[9, 51], sigma=0.1)
)
ks51_9s01_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[51, 9], sigma=0.1)
)
ks1s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=1, sigma=100)
)
ks5s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=5, sigma=100)
)
ks11s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=11, sigma=100)
)
ks51s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=51, sigma=100)
)
ks101s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=101, sigma=100)
)
ks9_51s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[9, 51], sigma=100)
)
ks51_9s100_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[51, 9], sigma=100)
)
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=ks1_data, main_title="ks1_data")
show_images1(data=ks5_data, main_title="ks5_data")
show_images1(data=ks11_data, main_title="ks11_data")
show_images1(data=ks51_data, main_title="ks51_data")
show_images1(data=ks101_data, main_title="ks101_data")
show_images1(data=ks5_51_data, main_title="ks5_51_data")
show_images1(data=ks51_5_data, main_title="ks51_5_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks1s01_data, main_title="ks1s01_data")
show_images1(data=ks5s01_data, main_title="ks5s01_data")
show_images1(data=ks11s01_data, main_title="ks11s01_data")
show_images1(data=ks51s01_data, main_title="ks51s01_data")
show_images1(data=ks101s01_data, main_title="ks101s01_data")
show_images1(data=ks9_51s01_data, main_title="ks9_51s01_data")
show_images1(data=ks51_9s01_data, main_title="ks51_9s01_data")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks1s01_data, main_title="ks1s100_data")
show_images1(data=ks5s01_data, main_title="ks5s100_data")
show_images1(data=ks11s01_data, main_title="ks11s100_data")
show_images1(data=ks51s01_data, main_title="ks51s100_data")
show_images1(data=ks101s01_data, main_title="ks101s100_data")
show_images1(data=ks9_51s01_data, main_title="ks9_51s100_data")
show_images1(data=ks51_9s01_data, main_title="ks51_9s100_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="ks1_data", ks=1)
show_images2(data=origin_data, main_title="ks5_data", ks=5)
show_images2(data=origin_data, main_title="ks11_data", ks=11)
show_images2(data=origin_data, main_title="ks51_data", ks=51)
show_images2(data=origin_data, main_title="ks101_data", ks=101)
show_images2(data=origin_data, main_title="ks5_51data", ks=[5, 51])
show_images2(data=origin_data, main_title="ks51_5_data", ks=[51, 5])
print()
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="ks5s01_data", ks=5, s=0.1)
show_images2(data=origin_data, main_title="ks11s01_data", ks=11, s=0.1)
show_images2(data=origin_data, main_title="ks51s01_data", ks=51, s=0.1)
show_images2(data=origin_data, main_title="ks101s01_data", ks=101, s=0.1)
show_images2(data=origin_data, main_title="ks5_51s01data", ks=[5, 51])
show_images2(data=origin_data, main_title="ks51_5s01_data", ks=[51, 5])
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks1s100_data", ks=1, s=100)
show_images2(data=origin_data, main_title="ks5s100_data", ks=5, s=100)
show_images2(data=origin_data, main_title="ks11s100_data", ks=11, s=100)
show_images2(data=origin_data, main_title="ks51s100_data", ks=51, s=100)
show_images2(data=origin_data, main_title="ks101s100_data", ks=101, s=100)
show_images2(data=origin_data, main_title="ks5_51s100data", ks=[5, 51],
s=100)
show_images2(data=origin_data, main_title="ks51_5s100_data", ks=[51, 5],
s=100)