请我喝杯咖啡☕
*备忘录:
- 我的帖子解释了CocoDetection()使用带有captions_train2014.json、instances_train2014.json和person_keypoints_train2014.json的train2014、带有captions_val2014.json、instances_val2014.json和person_keypoints_val2014.json的val2014以及带有image_info_test2014.json的test2017, image_info_test2015.json 和 image_info_test-dev2015.json。
- 我的帖子解释了CocoDetection()使用train2017与captions_train2017.json,instances_train2017.json和person_keypoints_train2017.json,val2017与captions_val2017.json,instances_val2017.json和person_keypoints_val2017.json和test2017与image_info_test2017.json和image_info_test-dev2017.json.
- 我的帖子解释了 MS COCO。
CocoDetection() 可以使用 MS COCO 数据集,如下所示。 *这是针对带有 stuff_train2017.json 的 train2017、带有 stuff_val2017.json 的 val2017、带有 stuff_train2017.json 的 stuff_train2017_pixelmaps、带有 stuff_val2017.json 的 stuff_val2017_pixelmaps、带有 panoptic_train2017.json 的 panoptic_train2017、带有 panoptic_train2017.json 的 panoptic_val2017 panoptic_val2017.json 和 unlabeled2017 以及 image_info_unlabeled2017.json:
from torchvision.datasets import CocoDetection stf_train2017_data = CocoDetection( root="data/coco/imgs/train2017", annFile="data/coco/anns/stuff_trainval2017/stuff_train2017.json" ) stf_val2017_data = CocoDetection( root="data/coco/imgs/val2017", annFile="data/coco/anns/stuff_trainval2017/stuff_val2017.json" ) len(stf_train2017_data), len(stf_val2017_data) # (118287, 5000) # pms_stf_train2017_data = CocoDetection( # root="data/coco/anns/stuff_trainval2017/stuff_train2017_pixelmaps", # annFile="data/coco/anns/stuff_trainval2017/stuff_train2017.json" # ) # Error # pms_stf_val2017_data = CocoDetection( # root="data/coco/anns/stuff_trainval2017/stuff_val2017_pixelmaps", # annFile="data/coco/anns/stuff_trainval2017/stuff_val2017.json" # ) # Error # pan_train2017_data = CocoDetection( # root="data/coco/anns/panoptic_trainval2017/panoptic_train2017", # annFile="data/coco/anns/panoptic_trainval2017/panoptic_train2017.json" # ) # Error # pan_val2017_data = CocoDetection( # root="data/coco/anns/panoptic_trainval2017/panoptic_val2017", # annFile="data/coco/anns/panoptic_trainval2017/panoptic_val2017.json" # ) # Error unlabeled2017_data = CocoDetection( root="data/coco/imgs/unlabeled2017", annFile="data/coco/anns/unlabeled2017/image_info_unlabeled2017.json" ) len(unlabeled2017_data) # 123403 stf_train2017_data[2] # (<pil.image.image image mode="RGB" size="640x428">, # [{'segmentation': {'counts': 'W2a0S2Q1T7mNmHS1R7mN...0100000000', # 'size': [428, 640]}, 'area': 112666.0, 'iscrowd': 0, 'image_id': 30, # 'bbox': [0.0, 0.0, 640.0, 321.0], 'category_id': 119, 'id': 10000010}, # {'segmentation': ..., 'category_id': 124, 'id': 10000011}, # ... # {'segmentation': ..., 'category_id': 183, 'id': 10000014}]) stf_train2017_data[47] # (<pil.image.image image mode="RGB" size="640x427">, # [{'segmentation': {'counts': '\\j1h0[<a0g2n001o0...00001o0000 ... stf_train2017_data image mode="RGB" size="480x640">, # [{'segmentation': {'counts': '0[9e:1O000000O100000...O5mc0F^Zj7', # 'size': [640, 480]}, 'area': 20503.0, 'iscrowd': 0, 'image_id': 370, # 'bbox': [0.0, 0.0, 79.0, 316.0], 'category_id': 102, 'id': 10000383}, # {'segmentation': ..., 'category_id': 105, 'id': 10000384}, # ... # {'segmentation': ..., 'category_id': 183, 'id': 10000389}]) stf_val2017_data[2] # (<pil.image.image image mode="RGB" size="640x483">, # [{'segmentation': {'counts': '\9g5]9O1O1O;EU1kNU1...VMKQ?NY`d3', # 'size': [483, 640]}, 'area': 5104.0, 'iscrowd': 0, 'image_id': 632, # 'bbox': [0.0, 300.0, 392.0, 183.0], 'category_id': 93, 'id': 20000017}, # {'segmentation': ..., 'category_id': 128, 'id': 20000018}, # ... # {'segmentation': ..., 'category_id': 183, 'id': 20000020}]) stf_val2017_data[47] # (<pil.image.image image mode="RGB" size="640x480">, # [{'segmentation': {'counts': '[da7T1X>D3M2J5M4M4LoQg1', # 'size': [480, 640]}, 'area': 122.0, 'iscrowd': 0, 'image_id': 5001, # 'bbox': [515.0, 235.0, 7.0, 36.0], 'category_id': 104, 'id': 20000247}, # {'segmentation': ..., 'category_id': 105, 'id': 20000248}, # ... # {'segmentation': ..., 'category_id': 183, 'id': 20000256}]) stf_val2017_data[64] # (<pil.image.image image mode="RGB" size="640x483">, # [{'segmentation': {'counts': 'UN020mN]B2e>N1O...Mb@N^?2hd2', # 'size': [500, 375]}, 'area': 2404.0, 'iscrowd': 0, 'image_id': 6763, # 'bbox': [0.0, 235.0, 369.0, 237.0], 'category_id': 105, 'id': 20000356}, # {'segmentation': ..., 'category_id': 123, 'id': 20000357}, # ... # {'segmentation': ..., 'category_id': 183, 'id': 20000362}]) unlabeled2017_data[2] # (<pil.image.image image mode="RGB" size="640x427">, []) unlabeled2017_data[47] # (<pil.image.image image mode="RGB" size="428x640">, []) unlabeled2017_data[64] # (<pil.image.image image mode="RGB" size="640x480">, []) import matplotlib.pyplot as plt from matplotlib.patches import Polygon, Rectangle import numpy as np from pycocotools import mask # `show_images1()` doesn't work very well for the images with # segmentations so for it, use `show_images2()` which # more uses the original coco functions. def show_images1(data, ims, main_title=None): file = data.root.split('/')[-1] fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(14, 8)) fig.suptitle(t=main_title, y=0.9, fontsize=14) for i, axis in zip(ims, axes.ravel()): if data[i][1] and "segmentation" in data[i][1][0]: im, anns = data[i] axis.imshow(X=im) axis.set_title(label=anns[0]["image_id"]) ec = ['g', 'r', 'c', 'm', 'y', 'w'] ec_index = 0 for ann in anns: seg = ann['segmentation'] compressed_rld = mask.decode(rleObjs=seg) y_plts, x_plts = np.nonzero(a=np.squeeze(a=compressed_rld)) axis.plot(x_plts, y_plts, alpha=0.4) x, y, w, h = ann['bbox'] rect = Rectangle(xy=(x, y), width=w, height=h, linewidth=3, edgecolor=ec[ec_index], facecolor='none', zorder=2) ec_index += 1 if ec_index == len(ec)-1: ec_index = 0 axis.add_patch(p=rect) elif not data[i][1]: im, _ = data[i] axis.imshow(X=im) fig.tight_layout() plt.show() ims = (2, 47, 64) show_images1(data=stf_train2017_data, ims=ims, main_title="stf_train2017_data") show_images1(data=stf_val2017_data, ims=ims, main_title="stf_val2017_data") show_images1(data=unlabeled2017_data, ims=ims, main_title="unlabeled2017_data") def show_images2(data, index, main_title=None): img_set = data[index] img, img_anns = img_set if img_anns and "segmentation" in img_anns[0]: img_id = img_anns[0]['image_id'] coco = data.coco def show_image(imgIds, areaRng=[], iscrowd=None, draw_bbox=False): plt.figure(figsize=(11, 8)) plt.imshow(X=img) plt.suptitle(t=main_title, y=1, fontsize=14) plt.title(label=img_id, fontsize=14) anns_ids = coco.getAnnIds(imgIds=img_id, areaRng=areaRng, iscrowd=iscrowd) anns = coco.loadAnns(ids=anns_ids) coco.showAnns(anns=anns, draw_bbox=draw_bbox) plt.show() show_image(imgIds=img_id, draw_bbox=True) show_image(imgIds=img_id, draw_bbox=False) show_image(imgIds=img_id, iscrowd=False, draw_bbox=True) show_image(imgIds=img_id, areaRng=[0, 5000], draw_bbox=True) elif not img_anns: plt.figure(figsize=(11, 8)) plt.imshow(X=img) plt.suptitle(t=main_title, y=1, fontsize=14) plt.show() show_images2(data=stf_val2017_data, index=47, main_title="stf_train2017_data") </pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.image.image></pil.image.image></a0g2n001o0...00001o0000></pil.image.image></pil.image.image>
显示_图像1():
显示图像2():
以上是PyTorch 中的 CocoDetection (3)的详细内容。更多信息请关注PHP中文网其他相关文章!

ForhandlinglargedatasetsinPython,useNumPyarraysforbetterperformance.1)NumPyarraysarememory-efficientandfasterfornumericaloperations.2)Avoidunnecessarytypeconversions.3)Leveragevectorizationforreducedtimecomplexity.4)Managememoryusagewithefficientdata

Inpython,ListSusedynamicMemoryAllocationWithOver-Asalose,而alenumpyArraySallaySallocateFixedMemory.1)listssallocatemoremoremoremorythanneededinentientary上,respizeTized.2)numpyarsallaysallaysallocateAllocateAllocateAlcocateExactMemoryForements,OfferingPrediCtableSageButlessemageButlesseflextlessibility。

Inpython,YouCansspecthedatatAtatatPeyFelemereModeRernSpant.1)Usenpynernrump.1)Usenpynyp.dloatp.dloatp.ploatm64,formor professisconsiscontrolatatypes。

NumPyisessentialfornumericalcomputinginPythonduetoitsspeed,memoryefficiency,andcomprehensivemathematicalfunctions.1)It'sfastbecauseitperformsoperationsinC.2)NumPyarraysaremorememory-efficientthanPythonlists.3)Itoffersawiderangeofmathematicaloperation

Contiguousmemoryallocationiscrucialforarraysbecauseitallowsforefficientandfastelementaccess.1)Itenablesconstanttimeaccess,O(1),duetodirectaddresscalculation.2)Itimprovescacheefficiencybyallowingmultipleelementfetchespercacheline.3)Itsimplifiesmemorym

SlicingaPythonlistisdoneusingthesyntaxlist[start:stop:step].Here'showitworks:1)Startistheindexofthefirstelementtoinclude.2)Stopistheindexofthefirstelementtoexclude.3)Stepistheincrementbetweenelements.It'susefulforextractingportionsoflistsandcanuseneg

numpyallowsforvariousoperationsonArrays:1)basicarithmeticlikeaddition,减法,乘法和division; 2)evationAperationssuchasmatrixmultiplication; 3)element-wiseOperations wiseOperationswithOutexpliitloops; 4)

Arresinpython,尤其是Throughnumpyandpandas,weessentialFordataAnalysis,offeringSpeedAndeffied.1)NumpyArseNable efflaysenable efficefliceHandlingAtaSetSetSetSetSetSetSetSetSetSetSetsetSetSetSetSetsopplexoperationslikemovingaverages.2)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

WebStorm Mac版
好用的JavaScript开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版