0

0

在pytorch中进行杂乱无章

聖光之護

聖光之護

发布时间:2025-02-17 11:02:01

|

530人浏览过

|

来源于dev.to

转载

给我买咖啡☕

*备忘录:

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

> randomposterize()可以随机将带有给定概率的图像随机寄电,如下所示:

*备忘录:

  • 初始化的第一个参数是位(必需类型:int): *备忘录:
    • >是每个频道要保留的位数。
    • >
    • 它必须是x
  • 初始化的第一个参数是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 RandomPosterize
    
    randomposterize = RandomPosterize(bits=1)
    randomposterize = RandomPosterize(bits=1, p=0.5)
    
    randomposterize 
    # RandomPosterize(p=0.5, bits=1)
    
    randomposterize.bits
    # 1
    
    randomposterize.p
    # 0.5
    
    origin_data = OxfordIIITPet(
        root="data",
        transform=None
    )
    
    b8p1origin_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=8, p=1)
    )
    
    b7p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=7, p=1)
    )
    
    b6p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=6, p=1)
    )
    
    b5p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=5, p=1)
    )
    
    b4p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=4, p=1)
    )
    
    b3p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=3, p=1)
    )
    
    b2p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=2, p=1)
    )
    
    b1p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=1, p=1)
    )
    
    b0p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=0, p=1)
    )
    
    bn1p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=-1, p=1)
    )
    
    bn10p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=-10, p=1)
    )
    
    bn100p1_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=-100, p=1)
    )
    
    b1p0_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=1, p=0)
    )
    
    b1p05_data = OxfordIIITPet(
        root="data",
        transform=RandomPosterize(bits=1, p=0.5)
        # transform=RandomPosterize(bits=1)
    )
    
    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=b8p1origin_data, main_title="b8p1origin_data")
    show_images1(data=b7p1_data, main_title="b7p1_data")
    show_images1(data=b6p1_data, main_title="b6p1_data")
    show_images1(data=b5p1_data, main_title="b5p1_data")
    show_images1(data=b4p1_data, main_title="b4p1_data")
    show_images1(data=b3p1_data, main_title="b3p1_data")
    show_images1(data=b2p1_data, main_title="b2p1_data")
    show_images1(data=b1p1_data, main_title="b1p1_data")
    show_images1(data=b0p1_data, main_title="b0p1_data")
    show_images1(data=bn1p1_data, main_title="bn1p1_data")
    show_images1(data=bn10p1_data, main_title="bn10p1_data")
    show_images1(data=bn100p1_data, main_title="bn100p1_data")
    print()
    show_images1(data=b1p0_data, main_title="b1p0_data")
    show_images1(data=b1p0_data, main_title="b1p0_data")
    show_images1(data=b1p0_data, main_title="b1p0_data")
    print()
    show_images1(data=b1p05_data, main_title="b1p05_data")
    show_images1(data=b1p05_data, main_title="b1p05_data")
    show_images1(data=b1p05_data, main_title="b1p05_data")
    print()
    show_images1(data=b1p1_data, main_title="b1p1_data")
    show_images1(data=b1p1_data, main_title="b1p1_data")
    show_images1(data=b1p1_data, main_title="b1p1_data")
    
    # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓
    def show_images2(data, main_title=None, b=None, prob=0):
        plt.figure(figsize=[10, 5])
        plt.suptitle(t=main_title, y=0.8, fontsize=14)
        if b != None:
            for i, (im, _) in zip(range(1, 6), data):
                plt.subplot(1, 5, i)
                rp = RandomPosterize(bits=b, p=prob)
                plt.imshow(X=rp(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")
    print()
    show_images2(data=origin_data, main_title="b8p1origin_data", b=8, prob=1)
    show_images2(data=origin_data, main_title="b7p1_data", b=7, prob=1)
    show_images2(data=origin_data, main_title="b6p1_data", b=6, prob=1)
    show_images2(data=origin_data, main_title="b5p1_data", b=5, prob=1)
    show_images2(data=origin_data, main_title="b4p1_data", b=4, prob=1)
    show_images2(data=origin_data, main_title="b3p1_data", b=3, prob=1)
    show_images2(data=origin_data, main_title="b2p1_data", b=2, prob=1)
    show_images2(data=origin_data, main_title="b1p1_data", b=1, prob=1)
    show_images2(data=origin_data, main_title="b0p1_data", b=0, prob=1)
    show_images2(data=origin_data, main_title="bn1p1_data", b=-1, prob=1)
    show_images2(data=origin_data, main_title="bn10p1_data", b=-10, prob=1)
    show_images2(data=origin_data, main_title="bn100p1_data", b=-100, prob=1)
    print()
    show_images2(data=origin_data, main_title="b1p0_data", b=1, prob=0)
    show_images2(data=origin_data, main_title="b1p0_data", b=1, prob=0)
    show_images2(data=origin_data, main_title="b1p0_data", b=1, prob=0)
    print()
    show_images2(data=origin_data, main_title="b1p05_data", b=1, prob=0.5)
    show_images2(data=origin_data, main_title="b1p05_data", b=1, prob=0.5)
    show_images2(data=origin_data, main_title="b1p05_data", b=1, prob=0.5)
    print()
    show_images2(data=origin_data, main_title="b1p1_data", b=1, prob=1)
    show_images2(data=origin_data, main_title="b1p1_data", b=1, prob=1)
    show_images2(data=origin_data, main_title="b1p1_data", b=1, prob=1)
    
  • image description


    image description

    image description

    image description

    image description

    image description

    image description

    image description

    image description

    汇成企业网站管理系统4.6
    汇成企业网站管理系统4.6

    汇成企业网站管理系统是以asp+access进行开发的企业建站系统,能为中小企业免费建立属于自己的网站。拥有企业网站常用的模块功能:企业简介模块、联系我们模块、新闻(文章)模块、产品模块、图片模块、招聘模块、在线留言、反馈系统、在线交流、友情链接、网站地图、栏目管理、网站碎片、管理员与权限管理等等,所有模块的分类均支持无限级别的分类,可拓展性非常强大。其中包括万能的栏目管理系统、网站碎片管理系统,

    下载

    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

  • 相关专题

    更多
    css中float用法
    css中float用法

    css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

    558

    2024.04.28

    C++中int、float和double的区别
    C++中int、float和double的区别

    本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

    98

    2025.10.23

    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是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    537

    2024.08.29

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

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

    52

    2025.08.29

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

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

    197

    2025.08.29

    pytorch是干嘛的
    pytorch是干嘛的

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

    431

    2024.05.29

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

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

    19

    2025.12.22

    Java 桌面应用开发(JavaFX 实战)
    Java 桌面应用开发(JavaFX 实战)

    本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

    36

    2026.01.14

    热门下载

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

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    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号