Pytorch中的BanderverticalFlip(Pytorch.BanderverticalFlip...)

wufei1232025-02-15python11

给我买咖啡☕

*备忘录:

  • 我的帖子说明randomhorizo​​ntalflip()。
  • 我的帖子解释了牛津iiitpet()。
*备忘录:

    初始化的第一个参数是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 RandomVerticalFlip
    
    randomverticalflip = RandomVerticalFlip()
    randomverticalflip = RandomVerticalFlip(p=0.5)
    
    randomverticalflip
    # RandomVerticalFlip(p=0.5)
    
    randomverticalflip.p
    # 0.5
    
    origin_data = OxfordIIITPet(
        root="data",
        transform=None
        # transform=RandomVerticalFlip(p=0)
    )
    
    p1_data = OxfordIIITPet(
        root="data",
        transform=RandomVerticalFlip(p=1)
    )
    
    p05_data = OxfordIIITPet(
        root="data",
        transform=RandomVerticalFlip(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)
            rvf = RandomVerticalFlip(p=prob)
            plt.imshow(X=rvf(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="p1_data", prob=0.5)
    show_images2(data=origin_data, main_title="p1_data", prob=0.5)
    show_images2(data=origin_data, main_title="p1_data", prob=0.5)
    
  • image description

    image description

    image description

    image description

    image description

    image description

    image description

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

  • 发表评论

    访客

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