برنامه نویسی
Gaussianblur در Pytorch (1) – Community Dev

برای من یک قهوه بخر
*یادداشت ها:
Gaussianblur () می تواند به طور تصادفی تصویری را همانطور که در زیر نشان داده شده است ، تار کند:
*یادداشت ها:
- اولین استدلال برای اولیه سازی است
num_output_channels
(نوع مورد نیاز:int
یاtuple
/list
(int
)): *یادداشت ها:- این است
[height, width]
بشر - باید عجیب باشد
1 <= x
بشر - یک لیست/لیست باید 1D با 1 یا 2 عنصر باشد.
- یک مقدار واحد (
int
یاtuple/list
(int
)) یعنی[num_output_channels, num_output_channels]
بشر
- این است
- استدلال دوم برای اولیه سازی است
sigma
(پیش فرض اختیاری:(0.1, 2.0)
نوع:int
یاtuple
/list
(int
)): *یادداشت ها:- این است
[min, max]
بنابراین باید باشدmin <= max
بشر - باید باشد
0 < x
بشر - یک لیست/لیست باید 1D با 1 یا 2 عنصر باشد.
- یک مقدار واحد (
int
یاtuple/list
(int
)) یعنی[sigma, sigma]
بشر
- این است
- استدلال اول است
img
(نوع مورد نیاز:PIL Image
یاtensor
(int
)): *یادداشت ها:- تانسور باید 2D یا 3D باشد.
- استفاده نکنید
img=
بشر
-
v2
توصیه می شود مطابق V1 یا V2 استفاده شود؟ از کدام یک باید استفاده کنم؟
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])
)
ks3_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=3)
)
ks5_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=5)
)
ks7_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=7)
)
ks9_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=9)
)
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)
)
ks9_51_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[9, 51])
)
ks51_9_data = OxfordIIITPet(
root="data",
transform=GaussianBlur(kernel_size=[51, 9])
)
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=ks3_data, main_title="ks3_data")
show_images1(data=ks5_data, main_title="ks5_data")
show_images1(data=ks7_data, main_title="ks7_data")
show_images1(data=ks9_data, main_title="ks9_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")
print()
show_images1(data=origin_data, main_title="origin_data")
show_images1(data=ks9_51_data, main_title="ks9_51_data")
show_images1(data=ks51_9_data, main_title="ks51_9_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="ks3_data", ks=3)
show_images2(data=origin_data, main_title="ks5_data", ks=5)
show_images2(data=origin_data, main_title="ks7_data", ks=7)
show_images2(data=origin_data, main_title="ks9_data", ks=9)
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)
print()
show_images2(data=origin_data, main_title="origin_data")
show_images2(data=origin_data, main_title="ks9_51data", ks=[9, 51])
show_images2(data=origin_data, main_title="ks51_9_data", ks=[51, 9])