最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch torchvision.ImageFolder的用法介紹

 更新時間:2020年02月20日 13:09:23   作者:慢行厚積  
今天小編就為大家分享一篇pytorch torchvision.ImageFolder的用法介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

torchvision.datasets

Datasets 擁有以下API:

__getitem__

__len__

Datasets都是 torch.utils.data.Dataset的子類,所以,他們也可以通過torch.utils.data.DataLoader使用多線程(python的多進程)。

舉例說明:

torch.utils.data.DataLoader(coco_cap, batch_size=args.batchSize, shuffle=True, num_workers=args.nThreads)

在構(gòu)造函數(shù)中,不同的數(shù)據(jù)集直接的構(gòu)造函數(shù)會有些許不同,但是他們共同擁有 keyword 參數(shù)。

transform: 一個函數(shù),原始圖片作為輸入,返回一個轉(zhuǎn)換后的圖片。

target_transform - 一個函數(shù),輸入為target,輸出對其的轉(zhuǎn)換。例子,輸入的是圖片標注的string,輸出為word的索引。

ImageFolder

一個通用的數(shù)據(jù)加載器,數(shù)據(jù)集中的數(shù)據(jù)以以下方式組織

root/dog/xxx.png
root/dog/xxy.png
root/dog/xxz.png

root/cat/123.png
root/cat/nsdf3.png
root/cat/asd932_.png

既其默認你的數(shù)據(jù)集已經(jīng)自覺按照要分配的類型分成了不同的文件夾,一種類型的文件夾下面只存放一種類型的圖片

運行命令為:

import torchvision.datasets as dset

dset.ImageFolder(root="root folder path", [transform, target_transform])

root : 指定圖片存儲的路徑,在下面的例子中是'./data/dogcat_2'

transform: 一個函數(shù),原始圖片作為輸入,返回一個轉(zhuǎn)換后的圖片。

target_transform - 一個函數(shù),輸入為target,輸出對其的轉(zhuǎn)換。例子,輸入的是圖片標注的string,輸出為word的索引。

有以下成員變量:

self.classes - 用一個list保存 類名

self.class_to_idx - 類名對應的 索引

self.imgs - 保存(img-path, class) tuple的list

即后面可以通過查看返回的數(shù)據(jù)集對象來查看相應的值,下面舉例說明:

圖片為:

可見分成了cat和dog兩類

import torchvision.datasets as dset
dataset = dset.ImageFolder('./data/dogcat_2') #沒有transform,先看看取得的原始圖像數(shù)據(jù)
print(dataset.classes) #根據(jù)分的文件夾的名字來確定的類別
print(dataset.class_to_idx) #按順序為這些類別定義索引為0,1...
print(dataset.imgs) #返回從所有文件夾中得到的圖片的路徑以及其類別

返回:

['cat', 'dog']
{'cat': 0, 'dog': 1}
[('./data/dogcat_2/cat/cat.12484.jpg', 0), ('./data/dogcat_2/cat/cat.12485.jpg', 0), ('./data/dogcat_2/cat/cat.12486.jpg', 0), ('./data/dogcat_2/cat/cat.12487.jpg', 0), ('./data/dogcat_2/dog/dog.12496.jpg', 1), ('./data/dogcat_2/dog/dog.12497.jpg', 1), ('./data/dogcat_2/dog/dog.12498.jpg', 1), ('./data/dogcat_2/dog/dog.12499.jpg', 1)]

如果在數(shù)據(jù)下面又添加了一個類型'others',那么訪問類型的時候返回的就是:

['cat', 'dog', 'others']
{'cat': 0, 'dog': 1, 'others': 2}

查看得到的圖片數(shù)據(jù):

#從返回結(jié)果可見得到的數(shù)據(jù)仍是PIL Image對象
print(dataset[0])
print(dataset[0][0])
print(dataset[0][1]) #得到的是類別0,即cat

返回:

(<PIL.Image.Image image mode=RGB size=497x500 at 0x11D99A9B0>, 0)
<PIL.Image.Image image mode=RGB size=497x500 at 0x11DD24278>
0

然后定義一個對數(shù)據(jù)進行處理的transform:

#可以看出來此時得到的圖片數(shù)據(jù)已經(jīng)是處理過后的tensor數(shù)據(jù)了
print(dataset[0][0])
print(dataset[0][0].size()) #大小也是經(jīng)過設定后的大小224
print(dataset[0][1]) #得到的是類別0,即cat

返回:

tensor([[[-0.7412, -0.7490, -0.7725, ..., 0.3176, 0.3412, 0.3725],
   [-0.7333, -0.7412, -0.7882, ..., 0.3255, 0.3647, 0.4039],
   [-0.7098, -0.7569, -0.8039, ..., 0.3255, 0.3725, 0.4039],
   ...,
   [ 0.3961, 0.3961, 0.4039, ..., 0.2627, 0.2627, 0.2549],
   [ 0.4196, 0.4039, 0.4118, ..., 0.2549, 0.2392, 0.2314],
   [ 0.4275, 0.4275, 0.4431, ..., 0.2314, 0.2314, 0.2235]],

  [[-0.7412, -0.7490, -0.7725, ..., 0.3882, 0.3725, 0.3569],
   [-0.7333, -0.7412, -0.7882, ..., 0.3961, 0.3961, 0.3882],
   [-0.7098, -0.7569, -0.8039, ..., 0.3882, 0.4039, 0.3882],
   ...,
   [ 0.0431, 0.0510, 0.0667, ..., -0.0824, -0.0824, -0.0902],
   [ 0.0510, 0.0431, 0.0588, ..., -0.0824, -0.1059, -0.1137],
   [ 0.0353, 0.0353, 0.0510, ..., -0.0902, -0.1059, -0.1216]],

  [[-0.8353, -0.8431, -0.8667, ..., 0.3255, 0.3255, 0.3255],
   [-0.8196, -0.8275, -0.8824, ..., 0.3333, 0.3490, 0.3569],
   [-0.7804, -0.8353, -0.8667, ..., 0.3333, 0.3569, 0.3569],
   ...,
   [-0.2863, -0.2784, -0.2627, ..., -0.3569, -0.3569, -0.3647],
   [-0.2549, -0.2706, -0.2549, ..., -0.3569, -0.3804, -0.3882],
   [-0.2235, -0.2471, -0.2392, ..., -0.3569, -0.3804, -0.4039]]])
torch.Size([3, 224, 224])

以上這篇pytorch torchvision.ImageFolder的用法介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用Requests請求網(wǎng)頁方式

    Python使用Requests請求網(wǎng)頁方式

    這篇文章主要介紹了Python使用Requests請求網(wǎng)頁方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python網(wǎng)絡爬蟲精解之pyquery的使用說明

    python網(wǎng)絡爬蟲精解之pyquery的使用說明

    PyQuery是一個類似于jQuery的解析網(wǎng)頁工具,使用lxml操作xml和html文檔,它的語法和jQuery很像。和XPATH,Beautiful Soup比起來,PyQuery更加靈活,提供增加節(jié)點的class信息,移除某個節(jié)點,提取文本信息等功能
    2021-09-09
  • pytorch之torch_scatter.scatter_max()用法

    pytorch之torch_scatter.scatter_max()用法

    這篇文章主要介紹了pytorch之torch_scatter.scatter_max()用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • django實現(xiàn)日志按日期分割

    django實現(xiàn)日志按日期分割

    這篇文章主要介紹了django實現(xiàn)日志按日期分割,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python元組和字典的內(nèi)建函數(shù)實例詳解

    python元組和字典的內(nèi)建函數(shù)實例詳解

    這篇文章主要介紹了python元組和字典的內(nèi)建函數(shù),結(jié)合實例形式詳細分析了Python元組和字典的各種常見內(nèi)建函數(shù)功能與相關(guān)使用技巧,需要的朋友可以參考下
    2019-10-10
  • python讀取excel指定列數(shù)據(jù)并寫入到新的excel方法

    python讀取excel指定列數(shù)據(jù)并寫入到新的excel方法

    今天小編就為大家分享一篇python讀取excel指定列數(shù)據(jù)并寫入到新的excel方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python中創(chuàng)建表格詳細過程

    Python中創(chuàng)建表格詳細過程

    這篇文章主要介紹了Python中創(chuàng)建表格,在python中使用tabulate庫來創(chuàng)建表格,并針對輸出形式進行不斷改進來美化輸出效果,并給出了代碼示例。需要的小伙伴可以參考一下
    2022-02-02
  • 通過Python實現(xiàn)對SQL Server 數(shù)據(jù)文件大小的監(jiān)控告警功能

    通過Python實現(xiàn)對SQL Server 數(shù)據(jù)文件大小的監(jiān)控告警功能

    這篇文章主要介紹了通過Python實現(xiàn)對SQL Server 數(shù)據(jù)文件大小的監(jiān)控告警,本文給大家分享問題報錯信息及解決方案,需要的朋友可以參考下
    2021-04-04
  • python解釋器安裝教程的方法步驟

    python解釋器安裝教程的方法步驟

    這篇文章主要介紹了python解釋器安裝教程的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Django ContentType組件詳解

    Django ContentType組件詳解

    這篇文章主要為大家介紹了Django ContentType組件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論

镇江市| 长子县| 扶绥县| 高雄市| 巴里| 新沂市| 中卫市| 瑞金市| 郎溪县| 天峨县| 自贡市| 丰原市| 黄大仙区| 民丰县| 靖远县| 屯留县| 织金县| 南郑县| 将乐县| 五大连池市| 确山县| 岳阳市| 包头市| 开封县| 海淀区| 南陵县| 同仁县| 蓬莱市| 通渭县| 黄骅市| 团风县| 碌曲县| 当阳市| 阿鲁科尔沁旗| 开化县| 济南市| 安溪县| 黄山市| 沙洋县| 临汾市| 务川|