首頁 >後端開發 >Python教學 >PyTorch 中的隨機水平翻轉

PyTorch 中的隨機水平翻轉

Patricia Arquette
Patricia Arquette原創
2024-12-27 08:42:10172瀏覽

請我喝杯咖啡☕

*備忘錄:

  • 我的貼文解釋了 RandomVerticalFlip()。
  • 我的帖子解釋了 OxfordIIITPet()。

RandomHorizo​​ntalFlip() 可以水平翻轉零個或多個影像,如下所示:

*備忘錄:

  • 初始化的第一個參數是 p(Optional-Default:0.5-Type:float)。 *這是每張影像被翻轉的機率。 *這是每張影像被翻轉的機率。
  • 第一個參數是 img(必要型別:PIL 影像或張量、元組或 int 清單): *備註:
    • 必須是二維的。
    • 不要使用img=。
  • v2建議依照V1還是V2使用?我應該使用哪一個?
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomHorizontalFlip

RandomHorizontalFlip()
# RandomHorizontalFlip(p=0.5)

RandomHorizontalFlip().p
# 0.5

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

trans100_data = OxfordIIITPet(
    root="data",
    transform=RandomHorizontalFlip(p=1.0)
)

trans50_data = OxfordIIITPet(
    root="data",
    transform=RandomHorizontalFlip(p=0.5)
)

import matplotlib.pyplot as plt

def show_images(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_images(data=origin_data, main_title="origin_data")
show_images(data=trans100_data, main_title="trans100_data")
show_images(data=trans50_data, main_title="trans50_data")

RandomHorizontalFlip in PyTorch

RandomHorizontalFlip in PyTorch

RandomHorizontalFlip in PyTorch

from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomHorizontalFlip

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

import matplotlib.pyplot as plt

def show_images(data, main_title=None, prob=0.0):
    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)
        rhf = RandomHorizontalFlip(p=prob)
        plt.imshow(X=rhf(im))
        plt.xticks(ticks=[])
        plt.yticks(ticks=[])
    plt.tight_layout()
    plt.show()

show_images(data=my_data, main_title="origin_data")
show_images(data=my_data, main_title="trans100_data", prob=1.0)
show_images(data=my_data, main_title="trans50_data", prob=0.5)

RandomHorizontalFlip in PyTorch

RandomHorizontalFlip in PyTorch

RandomHorizontalFlip in PyTorch

以上是PyTorch 中的隨機水平翻轉的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn