0

0

Pytorch中的高斯布鲁尔(1)

DDD

DDD

发布时间:2025-02-15 23:44:01

|

975人浏览过

|

来源于dev.to

转载

给我买咖啡☕

*备忘录:

ImgCreator AI
ImgCreator AI

一款AI图像生成工具,适合创建插图、动画和概念设计图像。

下载
  • 我的帖子解释了牛津iiitpet()。

gaussianblur()可以随机模糊图像,如下所示:

>

*备忘录:

  • >初始化的第一个参数是num_output_channels(必需类型:int或tuple/list(int)): *备忘录:
    • 是[高度,宽度]。
    • 它一定是奇数1
    • 元组/列表必须是具有1或2个元素的1d。
    • 单个值(int或tuple/list(int))表示[num_output_channels,num_output_channels]。
  • 初始化的第二个参数是sigma(可选默认:(0.1,2.0)-type:int或tuple/tuple/list(int)): *备忘录:
    • 是[min,max],所以必须是最小
  • 必须是0 元组/列表必须是具有1或2个元素的1d。 单个值(int或tuple/list(int))表示[sigma,sigma]。
  • 第一个参数是img(必需类型:pil图像或张量(int)): *备忘录:
张量必须为2d或3d。 不使用img =。
    • 建议根据v1或v2使用v2?我应该使用哪一个?
    • from torchvision.datasets import OxfordIIITPet
      from torchvision.transforms.v2 import GaussianBlur
      
      gaussianblur = GaussianBlur(kernel_size=1)
      gaussianblur = GaussianBlur(kernel_size=1, sigma=(0.1, 2.0))
      
      gaussianblur
      # GaussianBlur(kernel_size=(1, 1), sigma=[0.1, 2.0])
      
      gaussianblur.kernel_size 
      # (1, 1)
      
      gaussianblur.sigma
      # [0.1, 2.0]
      
      origin_data = OxfordIIITPet(
          root="data",
          transform=None
      )
      
      ks1_data = OxfordIIITPet( # `ks` is kernel_size.
          root="data",
          transform=GaussianBlur(kernel_size=1)
          # transform=GaussianBlur(kernel_size=[1])
          # transform=GaussianBlur(kernel_size=[1, 1])
      )
      
      ks3_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=3)
      )
      
      ks5_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=5)
      )
      
      ks7_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=7)
      )
      
      ks9_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=9)
      )
      
      ks11_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=11)
      )
      
      ks51_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=51)
      )
      
      ks101_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=101)
      )
      
      ks9_51_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=[9, 51])
      )
      
      ks51_9_data = OxfordIIITPet(
          root="data",
          transform=GaussianBlur(kernel_size=[51, 9])
      )
      
      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")
      show_images1(data=ks1_data, main_title="ks1_data")
      show_images1(data=ks3_data, main_title="ks3_data")
      show_images1(data=ks5_data, main_title="ks5_data")
      show_images1(data=ks7_data, main_title="ks7_data")
      show_images1(data=ks9_data, main_title="ks9_data")
      show_images1(data=ks11_data, main_title="ks11_data")
      show_images1(data=ks51_data, main_title="ks51_data")
      show_images1(data=ks101_data, main_title="ks101_data")
      print()
      show_images1(data=origin_data, main_title="origin_data")
      show_images1(data=ks9_51_data, main_title="ks9_51_data")
      show_images1(data=ks51_9_data, main_title="ks51_9_data")
      
      # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
      def show_images2(data, main_title=None, ks=None, s=(0.1, 2.0)):
          plt.figure(figsize=[10, 5])
          plt.suptitle(t=main_title, y=0.8, fontsize=14)
          if ks:
              for i, (im, _) in zip(range(1, 6), data):
                  plt.subplot(1, 5, i)
                  gb = GaussianBlur(kernel_size=ks, sigma=s)
                  plt.imshow(X=gb(im))
                  plt.xticks(ticks=[])
                  plt.yticks(ticks=[])
          else:
              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_images2(data=origin_data, main_title="origin_data")
      show_images2(data=origin_data, main_title="ks1_data", ks=1)
      show_images2(data=origin_data, main_title="ks3_data", ks=3)
      show_images2(data=origin_data, main_title="ks5_data", ks=5)
      show_images2(data=origin_data, main_title="ks7_data", ks=7)
      show_images2(data=origin_data, main_title="ks9_data", ks=9)
      show_images2(data=origin_data, main_title="ks11_data", ks=11)
      show_images2(data=origin_data, main_title="ks51_data", ks=51)
      show_images2(data=origin_data, main_title="ks101_data", ks=101)
      print()
      show_images2(data=origin_data, main_title="origin_data")
      show_images2(data=origin_data, main_title="ks9_51data", ks=[9, 51])
      show_images2(data=origin_data, main_title="ks51_9_data", ks=[51, 9])
      
  • image description

    image description

    image description

    image description

    image description

    image description

    image description

    image description

    image description


    image description

    image description

    相关专题

    更多
    string转int
    string转int

    在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    315

    2023.08.02

    int占多少字节
    int占多少字节

    int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    534

    2024.08.29

    c++怎么把double转成int
    c++怎么把double转成int

    本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

    51

    2025.08.29

    C++中int的含义
    C++中int的含义

    本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

    194

    2025.08.29

    pytorch是干嘛的
    pytorch是干嘛的

    pytorch是一个基于python的深度学习框架,提供以下主要功能:动态图计算,提供灵活性。强大的张量操作,实现高效处理。自动微分,简化梯度计算。预构建的神经网络模块,简化模型构建。各种优化器,用于性能优化。想了解更多pytorch的相关内容,可以阅读本专题下面的文章。

    429

    2024.05.29

    Python AI机器学习PyTorch教程_Python怎么用PyTorch和TensorFlow做机器学习
    Python AI机器学习PyTorch教程_Python怎么用PyTorch和TensorFlow做机器学习

    PyTorch 是一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。 使用Python 编写,因此对于大多数机器学习开发者而言,学习和使用起来相对简单。 PyTorch 的独特之处在于,它完全支持GPU,并且使用反向模式自动微分技术,因此可以动态修改计算图形。

    19

    2025.12.22

    c++主流开发框架汇总
    c++主流开发框架汇总

    本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

    78

    2026.01.09

    c++框架学习教程汇总
    c++框架学习教程汇总

    本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

    45

    2026.01.09

    学python好用的网站推荐
    学python好用的网站推荐

    本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

    118

    2026.01.09

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    10分钟--Midjourney创作自己的漫画
    10分钟--Midjourney创作自己的漫画

    共1课时 | 0.1万人学习

    Midjourney 关键词系列整合
    Midjourney 关键词系列整合

    共13课时 | 0.9万人学习

    AI绘画教程
    AI绘画教程

    共2课时 | 0.2万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号