Pytorch中的Randomhorizo​​ntalflip(Pytorch.Randomhorizo.ntalflip...)

wufei1232025-02-15python12

给我买咖啡☕

*备忘录:

  • 我的帖子解释了bersanverticalflip()。
  • >
  • 我的帖子解释了牛津iiitpet()。

randomhorizo​​ntalflip()可以随机和水平覆盖图像,如下所示:

*备忘录:

  • 初始化的第一个参数是p(可选默认:0.5-type:int或float): *备忘录:
    • 这是图像是否被翻转的可能性。
    • >
    • 必须为0
  • 第一个参数是img(必需类型:pil图像或张量(int)): *备忘录:
    • 张量必须为2d或3d。
    • 不使用img =。
    建议根据v1或v2使用v2?我应该使用哪一个?
  • from torchvision.datasets import OxfordIIITPet
    from torchvision.transforms.v2 import RandomHorizontalFlip
    
    randomhorizontalflip = RandomHorizontalFlip()
    randomhorizontalflip = RandomHorizontalFlip(p=0.5)
    
    randomhorizontalflip
    # RandomHorizontalFlip(p=0.5)
    
    randomhorizontalflip.p
    # 0.5
    
    origin_data = OxfordIIITPet(
        root="data",
        transform=None
        # transform=RandomHorizontalFlip(p=0)
    )
    
    p1_data = OxfordIIITPet(
        root="data",
        transform=RandomHorizontalFlip(p=1)
    )
    
    p05_data = OxfordIIITPet(
        root="data",
        transform=RandomHorizontalFlip(p=0.5)
    )
    
    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=p1_data, main_title="p1_data")
    show_images1(data=p1_data, main_title="p1_data")
    show_images1(data=p1_data, main_title="p1_data")
    print()
    show_images1(data=p05_data, main_title="p05_data")
    show_images1(data=p05_data, main_title="p05_data")
    show_images1(data=p05_data, main_title="p05_data")
    
    # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
    def show_images2(data, main_title=None, prob=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_images2(data=origin_data, main_title="origin_data")
    print()
    show_images2(data=origin_data, main_title="p1_data", prob=1)
    show_images2(data=origin_data, main_title="p1_data", prob=1)
    show_images2(data=origin_data, main_title="p1_data", prob=1)
    print()
    show_images2(data=origin_data, main_title="p05_data", prob=0.5)
    show_images2(data=origin_data, main_title="p05_data", prob=0.5)
    show_images2(data=origin_data, main_title="p05_data", prob=0.5)
    

image description

image description

image description

image description

image description

image description

image description

以上就是Pytorch中的Randomhorizo​​ntalflip的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。