Maison >développement back-end >Tutoriel Python >RandomHorizontalFlip dans PyTorch

RandomHorizontalFlip dans PyTorch

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 08:42:10178parcourir

Achetez-moi un café☕

*Mémos :

  • Mon message explique RandomVerticalFlip().
  • Mon message explique OxfordIIITPet().

RandomHorizontalFlip() peut retourner zéro ou plusieurs images horizontalement, comme indiqué ci-dessous :

*Mémos :

  • Le 1er argument pour l'initialisation est p(Optional-Default:0.5-Type:float). *C'est la probabilité que chaque image soit retournée. *C'est la probabilité que chaque image soit retournée.
  • Le 1er argument est img(Required-Type:PIL Image ou tensor, tuple ou list of int) : *Mémos :
    • Il doit être en 2D.
    • N'utilisez pas img=.
  • Il est recommandé d'utiliser la v2 selon la V1 ou la V2 ? Lequel dois-je utiliser ?.
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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn