搜尋
首頁後端開發Python教學PyTorch 中的 OxfordIIITPet

PyTorch 中的 OxfordIIITPet

Dec 22, 2024 pm 06:42 PM

請我喝杯咖啡☕

*我的貼文解釋了 Oxford-IIIT Pet。

OxfordIIITPet()可以使用Oxford-IIIT Pet資料集,如下所示:

*備忘錄:

  • 第一個參數是 root(必要類型:str 或 pathlib.Path)。 *絕對或相對路徑都是可能的。
  • 第二個參數是 split(可選-預設:"train"-類型:str)。 *可以設定「trainval」(3,680張圖片)或「test」(3,669張圖片)。
  • 第三個參數是 target_types(可選-預設:「attr」-類型:str 或 str 清單): *備註:
    • 可以為其設定「category」、「binary-category」和/或「segmentation」: *備註:
    • 「category」是 37 個類別的標籤。
    • 「binary-category」用於cat(0)或dog(1)的標籤。
    • “segmentation”用於分割三圖影像。
    • 也可以為其設定空元組或清單。
    • 可以設定多個相同的值。
    • 如果值的順序不同,則其元素的順序也會不同。
  • 第四個參數是transform(Optional-Default:None-Type:callable)。
  • 第 5 個參數是 target_transform(Optional-Default:None-Type:callable)。
  • 第 6 個參數是 download(可選-預設:False-類型:bool): *備註:
    • 如果為 True,則從網路下載資料集並解壓縮(解壓縮)到根目錄。
    • 如果為 True 並且資料集已下載,則將其提取。
    • 如果為 True 並且資料集已下載並提取,則不會發生任何事情。
    • 如果資料集已經下載並提取,則應該為 False,因為它速度更快。
    • 您可以從此處手動下載並提取資料集(images.tar.gz 和annotations.tar.gz)到 data/oxford-iiit-pet/。
  • 關於訓練影像索引的類別(類)標籤,阿比西尼亞(0)為0~49,美國鬥牛犬(1)為50~99, 美國比特鬥牛犬(2)是100~149, 巴吉度獵犬(3)為150~199,小獵犬(4)為200~249,孟加拉虎(5)為250~299, 伯曼貓(6)為300~349, 孟買(7)為350~398、拳師犬(8)為399~448、英國短毛貓(9)為449~498等
  • 關於測試影像索引的類別(類別)標籤,阿比西尼亞(0)為0~97,美國鬥牛犬(1)為98~197, 美國比特鬥牛犬(2)是198~297, 巴吉度獵犬(3)為298~397,小獵犬(4)為398~497,孟加拉虎(5)為498~597, 伯曼貓(6)為598~697, 孟買(7)為698~785,拳師犬(8)為786~884,英國短毛貓(9)為885~984等。
from torchvision.datasets import OxfordIIITPet

trainval_cate_data = OxfordIIITPet(
    root="data"
)

trainval_cate_data = OxfordIIITPet(
    root="data",
    split="trainval",
    target_types="category",
    transform=None,
    target_transform=None,
    download=False
)

trainval_bincate_data = OxfordIIITPet(
    root="data",
    split="trainval",
    target_types="binary-category"
)

test_seg_data = OxfordIIITPet(
    root="data",
    split="test",
    target_types="segmentation"
)

test_empty_data = OxfordIIITPet(
    root="data",
    split="test",
    target_types=[]
)

test_all_data = OxfordIIITPet(
    root="data",
    split="test",
    target_types=["category", "binary-category", "segmentation"]
)

len(trainval_cate_data), len(trainval_bincate_data)
# (3680, 3680)

len(test_seg_data), len(test_empty_data), len(test_all_data)
# (3669, 3669, 3669)

trainval_cate_data
# Dataset OxfordIIITPet
#     Number of datapoints: 3680
#     Root location: data

trainval_cate_data.root
# 'data'

trainval_cate_data._split
# 'trainval'

trainval_cate_data._target_types
# ['category']

print(trainval_cate_data.transform)
# None

print(trainval_cate_data.target_transform)
# None

trainval_cate_data._download
# <bound method oxfordiiitpet._download of dataset oxfordiiitpet number datapoints: root location: data>

len(trainval_cate_data.classes), trainval_cate_data.classes
# (37,
#  ['Abyssinian', 'American Bulldog', 'American Pit Bull Terrier',
#   'Basset Hound', 'Beagle', 'Bengal', 'Birman', 'Bombay', 'Boxer',
#   'British Shorthair', ..., 'Wheaten Terrier', 'Yorkshire Terrier'])

trainval_cate_data[0]
# (<pil.image.image image mode="RGB" size="394x500">, 0)

trainval_cate_data[1]
# (<pil.image.image image mode="RGB" size="450x313">, 0)

trainval_cate_data[2]
# (<pil.image.image image mode="RGB" size="500x465">, 0)

trainval_bincate_data[0]
# (<pil.image.image image mode="RGB" size="394x500">, 0)

trainval_bincate_data[1]
# (<pil.image.image image mode="RGB" size="450x313">, 0)

trainval_bincate_data[2]
# (<pil.image.image image mode="RGB" size="500x465">, 0)

test_seg_data[0]
# (<pil.image.image image mode="RGB" size="300x225">,
#  <pil.pngimageplugin.pngimagefile image mode="L" size="300x225">)

test_seg_data[1]
# (<pil.image.image image mode="RGB" size="300x225">,
#  <pil.pngimageplugin.pngimagefile image mode="L" size="300x225">)

test_seg_data[2]
# (<pil.image.image image mode="RGB" size="229x300">,
#  <pil.pngimageplugin.pngimagefile image mode="L" size="229x300">)

test_empty_data[0]
# (<pil.image.image image mode="RGB" size="300x225">, None)

test_empty_data[1]
# (<pil.image.image image mode="RGB" size="300x225">, None)

test_empty_data[2]
# (<pil.image.image image mode="RGB" size="229x300">, None)

test_all_data[0]
# (<pil.image.image image mode="RGB" size="300x225">,
#  (0, 0, <pil.pngimageplugin.pngimagefile image mode="L" size="300x225">))

test_all_data[1]
# (<pil.image.image image mode="RGB" size="300x225">,
#  (0, 0, <pil.pngimageplugin.pngimagefile image mode="L" size="300x225">))

test_all_data[2]
# (<pil.image.image image mode="RGB" size="229x300">,
#  (0, 0, <pil.pngimageplugin.pngimagefile image mode="L" size="229x300">))

import matplotlib.pyplot as plt

def show_images(data, ims, main_title=None):
    if len(data._target_types) == 0:      
        plt.figure(figsize=(12, 6))
        plt.suptitle(t=main_title, y=1.0, fontsize=14)
        for i, j in enumerate(ims, start=1):
            plt.subplot(2, 5, i)
            im, _ = data[j]
            plt.imshow(X=im)
    elif len(data._target_types) == 1:
        if data._target_types[0] == "category":
            plt.figure(figsize=(12, 6))
            plt.suptitle(t=main_title, y=1.0, fontsize=14)
            for i, j in enumerate(ims, start=1):
                plt.subplot(2, 5, i)
                im, cate = data[j]
                plt.title(label=cate)
                plt.imshow(X=im)
        elif data._target_types[0] == "binary-category":
            plt.figure(figsize=(12, 6))
            plt.suptitle(t=main_title, y=1.0, fontsize=14)
            for i, j in enumerate(ims, start=1):
                plt.subplot(2, 5, i)
                im, bincate = data[j]
                plt.title(label=bincate)
                plt.imshow(X=im)
        elif data._target_types[0] == "segmentation":
            plt.figure(figsize=(12, 12))
            plt.suptitle(t=main_title, y=1.0, fontsize=14)
            for i, j in enumerate(ims, start=1):
                im, seg = data[j]
                if 1 



<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173486413998858.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="OxfordIIITPet in PyTorch"></p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173486414377932.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="OxfordIIITPet in PyTorch"></p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173486414647181.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="OxfordIIITPet in PyTorch"></p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173486415046391.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="OxfordIIITPet in PyTorch"></p>

<p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173486415371337.jpg?x-oss-process=image/resize,p_40" class="lazy" alt="OxfordIIITPet in PyTorch"></p>


          

            
        </pil.pngimageplugin.pngimagefile></pil.image.image></pil.pngimageplugin.pngimagefile></pil.image.image></pil.pngimageplugin.pngimagefile></pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.pngimageplugin.pngimagefile></pil.image.image></pil.pngimageplugin.pngimagefile></pil.image.image></pil.pngimageplugin.pngimagefile></pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.image.image></bound>

以上是PyTorch 中的 OxfordIIITPet的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
什麼是Python Switch語句?什麼是Python Switch語句?Apr 30, 2025 pm 02:08 PM

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中有什麼例外組?Python中有什麼例外組?Apr 30, 2025 pm 02:07 PM

Python 3.11中的異常組允許同時處理多個異常,從而改善了並發方案和復雜操作中的錯誤管理。

Python中的功能註釋是什麼?Python中的功能註釋是什麼?Apr 30, 2025 pm 02:06 PM

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。

Python的單位測試是什麼?Python的單位測試是什麼?Apr 30, 2025 pm 02:05 PM

本文討論了Python中的單位測試,其好處以及如何有效編寫它們。它突出顯示了諸如UNITSEST和PYTEST之類的工具進行測試。

Python中的訪問說明符是什麼?Python中的訪問說明符是什麼?Apr 30, 2025 pm 02:03 PM

文章討論了Python中的訪問說明符,這些說明符使用命名慣例表明班級成員的可見性,而不是嚴格的執法。

Python中的__Init __()是什麼?自我如何在其中發揮作用?Python中的__Init __()是什麼?自我如何在其中發揮作用?Apr 30, 2025 pm 02:02 PM

文章討論了Python的\ _ \ _ Init \ _ \ _()方法和Self在初始化對象屬性中的作用。還涵蓋了其他類方法和繼承對\ _ \ _ Init \ _ \ _()的影響。

python中的@classmethod,@staticmethod和實例方法有什麼區別?python中的@classmethod,@staticmethod和實例方法有什麼區別?Apr 30, 2025 pm 02:01 PM

本文討論了python中@classmethod,@staticmethod和實例方法之間的差異,詳細介紹了它們的屬性,用例和好處。它說明瞭如何根據所需功能選擇正確的方法類型和DA

您如何將元素附加到Python數組?您如何將元素附加到Python數組?Apr 30, 2025 am 12:19 AM

Inpython,YouAppendElementStoAlistusingTheAppend()方法。 1)useappend()forsingleelements:my_list.append(4).2)useextend()orextend()或= formultiplelements:my_list.extend.extend(emote_list)ormy_list = [4,5,6] .3)useInsert()forspefificpositions:my_list.insert(1,5).beaware

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境