برنامه نویسی

Augmix در Pytorch (9) – Community Dev

Augmix () می تواند به طور تصادفی AugMix را به عنوان تصویر زیر انجام دهد. *در مورد chain_depth استدلال (2):

from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import AugMix
from torchvision.transforms.functional import InterpolationMode

origin_data = OxfordIIITPet(
    root="data",
    transform=None
)

s10cd0_data = OxfordIIITPet( # `s` is severity and `cd` is chain_depth.
    root="data",
    transform=AugMix(severity=10, chain_depth=0)
)

s10cd1_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=1)
)

s10cd2_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=2)
)

s10cd5_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=5)
)

s10cd10_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=10)
)

s10cd25_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=25)
)

s10cd50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(severity=10, chain_depth=50)
)

mw50cd0_data = OxfordIIITPet( # `mw` is mixture_width.
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=0)
)

mw50cd1_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=1)
)

mw50cd2_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=2)
)

mw50cd5_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=5)
)

mw50cd10_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=10)
)

mw50cd25_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=25)
)

mw50cd50_data = OxfordIIITPet(
    root="data",
    transform=AugMix(mixture_width=50, chain_depth=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")
print()
show_images1(data=s10cd0_data, main_title="s10cd0_data")
show_images1(data=s10cd1_data, main_title="s10cd1_data")
show_images1(data=s10cd2_data, main_title="s10cd2_data")
show_images1(data=s10cd5_data, main_title="s10cd5_data")
show_images1(data=s10cd10_data, main_title="s10cd10_data")
show_images1(data=s10cd25_data, main_title="s10cd25_data")
show_images1(data=s10cd50_data, main_title="s10cd50_data")
print()
show_images1(data=mw50cd0_data, main_title="mw50cd0_data")
show_images1(data=mw50cd1_data, main_title="mw50cd1_data")
show_images1(data=mw50cd2_data, main_title="mw50cd2_data")
show_images1(data=mw50cd5_data, main_title="mw50cd5_data")
show_images1(data=mw50cd10_data, main_title="mw50cd10_data")
show_images1(data=mw50cd25_data, main_title="mw50cd25_data")
show_images1(data=mw50cd50_data, main_title="mw50cd50_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="s10cd0_data", s=10, cd=0)
show_images2(data=origin_data, main_title="s10cd1_data", s=10, cd=1)
show_images2(data=origin_data, main_title="s10cd2_data", s=10, cd=2)
show_images2(data=origin_data, main_title="s10cd5_data", s=10, cd=5)
show_images2(data=origin_data, main_title="s10cd10_data", s=10, cd=10)
show_images2(data=origin_data, main_title="s10cd25_data", s=10, cd=25)
show_images2(data=origin_data, main_title="s10cd50_data", s=10, cd=50)
print()
show_images2(data=origin_data, main_title="mw50cd0_data", mw=50, cd=0)
show_images2(data=origin_data, main_title="mw50cd1_data", mw=50, cd=1)
show_images2(data=origin_data, main_title="mw50cd2_data", mw=50, cd=2)
show_images2(data=origin_data, main_title="mw50cd5_data", mw=50, cd=5)
show_images2(data=origin_data, main_title="mw50cd10_data", mw=50, cd=10)
show_images2(data=origin_data, main_title="mw50cd25_data", mw=50, cd=25)
show_images2(data=origin_data, main_title="mw50cd50_data", mw=50, cd=50)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا