登录
首页 >  文章 >  python教程

在pytorch中进行杂乱无章

来源:dev.to

时间:2025-02-19 10:22:02 302浏览 收藏

哈喽!今天心血来潮给大家带来了《在pytorch中进行杂乱无章》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

给我买咖啡☕

*备忘录:

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

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

*备忘录:

  • 初始化的第一个参数是位(必需类型:int): *备忘录:
    • >是每个频道要保留的位数。
    • >
    • 它必须是x < = 8。
  • 初始化的第一个参数是p(可选默认:0.5-type:int或float): *备忘录:
    • 这是图像是否被后代的概率。
    • >
    • 必须为0 < = x < = 1。
    第一个参数是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

    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中进行杂乱无章》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

  • 声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
    相关阅读
    更多>
    最新阅读
    更多>
    课程推荐
    更多>