pytorch的兰德姆布森(兰德.布森.pytorch...)

wufei1232025-02-15python6

给我买咖啡☕

*备忘录:

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

> randomperspective()可以对图像进行随机的透视转换,如下所示:

*备忘录:

  • 初始化的第一个参数是distortion_scale(可选默认:0.5型:int或float): *备忘录:
    • 它可以进行透视转换。
    • >
    • 必须为0
  • >初始化的第二个参数为p(可选默认:0.5-type:int或float): *备忘录:
    • >是图像是否通过透视转换完成的概率。
    • 必须为0
    • 初始化的第三个参数是插值(可选默认:interpolationmode.binear-type:interpolationmode)。
    初始化的第四个参数是填充(可选默认:0型:int,float或tuple/tuple/list(int或float)): *备忘录:
  • >它可以更改图像的背景。 *在为图像进行透视转换时,可以看到背景。
  • >
  • 元组/列表必须是具有1或3个元素的1d。
    • 第一个参数是img(必需类型:pil图像或张量(int)): *备忘录:
    • 张量必须为2d或3d。
    不使用img =。
    • 建议根据v1或v2使用v2?我应该使用哪一个?
    • from torchvision.datasets import OxfordIIITPet
      from torchvision.transforms.v2 import RandomPerspective
      from torchvision.transforms.functional import InterpolationMode
      
      randompers = RandomPerspective()
      randompers = RandomPerspective(distortion_scale=0.5,
                                     p=0.5,
                                     interpolation=InterpolationMode.BILINEAR,
                                     fill=0)
      randompers
      # RandomPerspective(p=0.5,
      #                   distortion_scale=0.5,
      #                   interpolation=InterpolationMode.BILINEAR,
      #                   fill=0)
      
      randompers.distortion_scale
      # 0.5
      
      randompers.p
      # 0.5
      
      randompers.interpolation
      # <InterpolationMode.BILINEAR: 'bilinear'>
      
      randompers.fill
      # 0
      
      origin_data = OxfordIIITPet(
          root="data",
          transform=None
      )
      
      ds0p1origin_data = OxfordIIITPet( # `ds` is distortion_scale.
          root="data",
          transform=RandomPerspective(distortion_scale=0, p=1)
      )
      
      ds01p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.1, p=1)
      )
      
      ds02p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.2, p=1)
      )
      
      ds03p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.3, p=1)
      )
      
      ds04p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.4, p=1)
      )
      
      ds05p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.5, p=1)
      )
      
      ds06p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.6, p=1)
      )
      
      ds07p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.7, p=1)
      )
      
      ds08p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.8, p=1)
      )
      
      ds09p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=0.9, p=1)
      )
      
      ds1p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(distortion_scale=1, p=1)
      )
      
      p0_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(p=0)
      )
      
      p05_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(p=0.5)
      )
      
      p1_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(p=1)
      )
      
      p1fgray_data = OxfordIIITPet( # `f` is fill.
          root="data",
          transform=RandomPerspective(p=1, fill=150)
      )
      
      p1fpurple_data = OxfordIIITPet(
          root="data",
          transform=RandomPerspective(p=1, fill=[160, 32, 240])
      )
      
      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=ds0p1origin_data, main_title="ds0p1origin_data")
      show_images1(data=ds01p1_data, main_title="ds01p1_data")
      show_images1(data=ds02p1_data, main_title="ds02p1_data")
      show_images1(data=ds03p1_data, main_title="ds03p1_data")
      show_images1(data=ds04p1_data, main_title="ds04p1_data")
      show_images1(data=ds05p1_data, main_title="ds05p1_data")
      show_images1(data=ds06p1_data, main_title="ds06p1_data")
      show_images1(data=ds07p1_data, main_title="ds07p1_data")
      show_images1(data=ds08p1_data, main_title="ds08p1_data")
      show_images1(data=ds09p1_data, main_title="ds09p1_data")
      show_images1(data=ds1p1_data, main_title="ds1p1_data")
      print()
      show_images1(data=p0_data, main_title="p0_data")
      show_images1(data=p0_data, main_title="p0_data")
      show_images1(data=p0_data, main_title="p0_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")
      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=p1fgray_data, main_title="p1fgray_data")
      show_images1(data=p1fpurple_data, main_title="p1fpurple_data")
      
      # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
      def show_images2(data, main_title=None, ds=0.5, prob=0.5,
                       ip=InterpolationMode.BILINEAR, f=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)
              rp = RandomPerspective(distortion_scale=ds, p=prob, # Here
                                     interpolation=ip, fill=f)
              plt.imshow(X=rp(im)) # Here
              plt.xticks(ticks=[])
              plt.yticks(ticks=[])
          plt.tight_layout()
          plt.show()
      
      show_images2(data=origin_data, main_title="origin_data", ds=0)
      print()
      show_images2(data=origin_data, main_title="ds0p1origin_data", ds=0,
                   prob=1)
      show_images2(data=origin_data, main_title="ds01p1_data", ds=0.1, prob=1)
      show_images2(data=origin_data, main_title="ds02p1_data", ds=0.2, prob=1)
      show_images2(data=origin_data, main_title="ds03p1_data", ds=0.3, prob=1)
      show_images2(data=origin_data, main_title="ds04p1_data", ds=0.4, prob=1)
      show_images2(data=origin_data, main_title="ds05p1_data", ds=0.5, prob=1)
      show_images2(data=origin_data, main_title="ds06p1_data", ds=0.6, prob=1)
      show_images2(data=origin_data, main_title="ds07p1_data", ds=0.7, prob=1)
      show_images2(data=origin_data, main_title="ds08p1_data", ds=0.8, prob=1)
      show_images2(data=origin_data, main_title="ds09p1_data", ds=0.9, prob=1)
      show_images2(data=origin_data, main_title="ds1p1_data", ds=1, prob=1)
      print()
      show_images2(data=origin_data, main_title="p0_data", prob=0)
      show_images2(data=origin_data, main_title="p0_data", prob=0)
      show_images2(data=origin_data, main_title="p0_data", prob=0)
      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)
      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="p1fgray_data", prob=1, f=150)
      show_images2(data=origin_data, main_title="p1fpurple_data", prob=1,
                   f=[160, 32, 240])
      

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

image description

以上就是pytorch的兰德姆布森的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

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