Shortcuts

CocoCaptions

class torchvision.datasets.CocoCaptions(root: Union[str, Path], annFile: str, transform: Optional[Callable] = None, target_transform: Optional[Callable] = None, transforms: Optional[Callable] = None)[source]

MS Coco Captions 数据集。

它需要安装COCO API

Parameters:
  • root (str 或 pathlib.Path) – 图像下载到的根目录。

  • annFile (string) – JSON注释文件的路径。

  • transform (callable, optional) – 一个函数/变换,它接收一个PIL图像并返回一个变换后的版本。例如,transforms.PILToTensor

  • target_transform (callable, optional) – 一个函数/转换,它接收目标并对其进行转换。

  • transforms (callable, optional) – 一个函数/转换,它接收输入样本及其目标作为输入,并返回转换后的版本。

示例

import torchvision.datasets as dset
import torchvision.transforms as transforms
cap = dset.CocoCaptions(root = 'dir where images are',
                        annFile = 'json annotation file',
                        transform=transforms.PILToTensor())

print('Number of samples: ', len(cap))
img, target = cap[3] # load 4th sample

print("Image Size: ", img.size())
print(target)

输出:

Number of samples: 82783
Image Size: (3L, 427L, 640L)
[u'A plane emitting smoke stream flying over a mountain.',
u'A plane darts across a bright blue sky behind a mountain covered in snow',
u'A plane leaves a contrail above the snowy mountain top.',
u'A mountain that has a plane flying overheard in the distance.',
u'A mountain view with a plume of smoke in the background']
Special-members:

__getitem__(index: int) Tuple[Any, Any]
Parameters:

index (int) – 索引

Returns:

样本和元数据,可选择通过各自的转换进行转换。

Return type:

(任何)