PyTorch でのランダム水平反転

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 08:42:10177ブラウズ

コーヒー買ってきて☕

*メモ:

  • 私の投稿では RandomVerticalFlip() について説明しています。
  • 私の投稿では OxfordIIITPet() について説明しています。

Randomhorizo​​ntalFlip() は、以下に示すように、0 個以上の画像を水平方向に反転できます。

*メモ:

  • 初期化の最初の引数は p(Optional-Default:0.5-Type:float) です。 ※各画像が反転する確率です。 ※各画像が反転する確率です。
  • 最初の引数は img(Required-Type:PIL 画像、テンソル、タプル、または int のリスト) です。 *メモ:
    • それは 2D でなければなりません。
    • img=.
    • は使用しないでください。
  • V1 または V2 に従って 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。