首页 >后端开发 >Python教程 >PyTorch 中的随机垂直翻转

PyTorch 中的随机垂直翻转

Susan Sarandon
Susan Sarandon原创
2024-12-28 14:27:18600浏览

请我喝杯咖啡☕

*备忘录:

  • 我的帖子解释了 RandomHorizo​​ntalFlip()。
  • 我的帖子解释了 OxfordIIITPet()。

RandomVerticalFlip() 可以垂直翻转零个或多个图像,如下所示:

*备忘录:

  • 初始化的第一个参数是 p(Optional-Default:0.5-Type:float)。 *这是每张图像被翻转的概率。 *这是每张图像被翻转的概率。
  • 第一个参数是 img(必需类型:PIL 图像或张量、元组或 int 列表): *备注:
    • 必须是二维的。
    • 不要使用img=。
  • v2建议按照V1还是V2使用?我应该使用哪一个?
from torchvision.datasets import OxfordIIITPet
from torchvision.transforms.v2 import RandomVerticalFlip

RandomVerticalFlip()
# RandomVerticalFlip(p=0.5)

RandomVerticalFlip().p
# 0.5

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

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

trans50_data = OxfordIIITPet(
    root="data",
    transform=RandomVerticalFlip(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")

RandomVerticalFlip in PyTorch

RandomVerticalFlip in PyTorch

RandomVerticalFlip in PyTorch

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

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)
        rvf = RandomVerticalFlip(p=prob)
        plt.imshow(X=rvf(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)

RandomVerticalFlip in PyTorch

RandomVerticalFlip in PyTorch

RandomVerticalFlip in PyTorch

以上是PyTorch 中的随机垂直翻转的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn