From f7149c9d386ce013fb5ac80ef43c450a92586f02 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 18 Oct 2021 10:35:11 +0200 Subject: [PATCH 1/9] add prototype imagenet dataset --- .../prototype/datasets/_builtin/__init__.py | 1 + .../datasets/_builtin/imagenet.categories | 1000 +++++++++++++++++ .../prototype/datasets/_builtin/imagenet.py | 131 +++ 3 files changed, 1132 insertions(+) create mode 100644 torchvision/prototype/datasets/_builtin/imagenet.categories create mode 100644 torchvision/prototype/datasets/_builtin/imagenet.py diff --git a/torchvision/prototype/datasets/_builtin/__init__.py b/torchvision/prototype/datasets/_builtin/__init__.py index 395c1f95764..9a47ad4c99f 100644 --- a/torchvision/prototype/datasets/_builtin/__init__.py +++ b/torchvision/prototype/datasets/_builtin/__init__.py @@ -2,6 +2,7 @@ from .celeba import CelebA from .cifar import Cifar10, Cifar100 from .coco import Coco +from .imagenet import ImageNet from .mnist import MNIST, FashionMNIST, KMNIST, EMNIST, QMNIST from .sbd import SBD from .voc import VOC diff --git a/torchvision/prototype/datasets/_builtin/imagenet.categories b/torchvision/prototype/datasets/_builtin/imagenet.categories new file mode 100644 index 00000000000..88aa58f966b --- /dev/null +++ b/torchvision/prototype/datasets/_builtin/imagenet.categories @@ -0,0 +1,1000 @@ +n01440764 +n01443537 +n01484850 +n01491361 +n01494475 +n01496331 +n01498041 +n01514668 +n01514859 +n01518878 +n01530575 +n01531178 +n01532829 +n01534433 +n01537544 +n01558993 +n01560419 +n01580077 +n01582220 +n01592084 +n01601694 +n01608432 +n01614925 +n01616318 +n01622779 +n01629819 +n01630670 +n01631663 +n01632458 +n01632777 +n01641577 +n01644373 +n01644900 +n01664065 +n01665541 +n01667114 +n01667778 +n01669191 +n01675722 +n01677366 +n01682714 +n01685808 +n01687978 +n01688243 +n01689811 +n01692333 +n01693334 +n01694178 +n01695060 +n01697457 +n01698640 +n01704323 +n01728572 +n01728920 +n01729322 +n01729977 +n01734418 +n01735189 +n01737021 +n01739381 +n01740131 +n01742172 +n01744401 +n01748264 +n01749939 +n01751748 +n01753488 +n01755581 +n01756291 +n01768244 +n01770081 +n01770393 +n01773157 +n01773549 +n01773797 +n01774384 +n01774750 +n01775062 +n01776313 +n01784675 +n01795545 +n01796340 +n01797886 +n01798484 +n01806143 +n01806567 +n01807496 +n01817953 +n01818515 +n01819313 +n01820546 +n01824575 +n01828970 +n01829413 +n01833805 +n01843065 +n01843383 +n01847000 +n01855032 +n01855672 +n01860187 +n01871265 +n01872401 +n01873310 +n01877812 +n01882714 +n01883070 +n01910747 +n01914609 +n01917289 +n01924916 +n01930112 +n01943899 +n01944390 +n01945685 +n01950731 +n01955084 +n01968897 +n01978287 +n01978455 +n01980166 +n01981276 +n01983481 +n01984695 +n01985128 +n01986214 +n01990800 +n02002556 +n02002724 +n02006656 +n02007558 +n02009229 +n02009912 +n02011460 +n02012849 +n02013706 +n02017213 +n02018207 +n02018795 +n02025239 +n02027492 +n02028035 +n02033041 +n02037110 +n02051845 +n02056570 +n02058221 +n02066245 +n02071294 +n02074367 +n02077923 +n02085620 +n02085782 +n02085936 +n02086079 +n02086240 +n02086646 +n02086910 +n02087046 +n02087394 +n02088094 +n02088238 +n02088364 +n02088466 +n02088632 +n02089078 +n02089867 +n02089973 +n02090379 +n02090622 +n02090721 +n02091032 +n02091134 +n02091244 +n02091467 +n02091635 +n02091831 +n02092002 +n02092339 +n02093256 +n02093428 +n02093647 +n02093754 +n02093859 +n02093991 +n02094114 +n02094258 +n02094433 +n02095314 +n02095570 +n02095889 +n02096051 +n02096177 +n02096294 +n02096437 +n02096585 +n02097047 +n02097130 +n02097209 +n02097298 +n02097474 +n02097658 +n02098105 +n02098286 +n02098413 +n02099267 +n02099429 +n02099601 +n02099712 +n02099849 +n02100236 +n02100583 +n02100735 +n02100877 +n02101006 +n02101388 +n02101556 +n02102040 +n02102177 +n02102318 +n02102480 +n02102973 +n02104029 +n02104365 +n02105056 +n02105162 +n02105251 +n02105412 +n02105505 +n02105641 +n02105855 +n02106030 +n02106166 +n02106382 +n02106550 +n02106662 +n02107142 +n02107312 +n02107574 +n02107683 +n02107908 +n02108000 +n02108089 +n02108422 +n02108551 +n02108915 +n02109047 +n02109525 +n02109961 +n02110063 +n02110185 +n02110341 +n02110627 +n02110806 +n02110958 +n02111129 +n02111277 +n02111500 +n02111889 +n02112018 +n02112137 +n02112350 +n02112706 +n02113023 +n02113186 +n02113624 +n02113712 +n02113799 +n02113978 +n02114367 +n02114548 +n02114712 +n02114855 +n02115641 +n02115913 +n02116738 +n02117135 +n02119022 +n02119789 +n02120079 +n02120505 +n02123045 +n02123159 +n02123394 +n02123597 +n02124075 +n02125311 +n02127052 +n02128385 +n02128757 +n02128925 +n02129165 +n02129604 +n02130308 +n02132136 +n02133161 +n02134084 +n02134418 +n02137549 +n02138441 +n02165105 +n02165456 +n02167151 +n02168699 +n02169497 +n02172182 +n02174001 +n02177972 +n02190166 +n02206856 +n02219486 +n02226429 +n02229544 +n02231487 +n02233338 +n02236044 +n02256656 +n02259212 +n02264363 +n02268443 +n02268853 +n02276258 +n02277742 +n02279972 +n02280649 +n02281406 +n02281787 +n02317335 +n02319095 +n02321529 +n02325366 +n02326432 +n02328150 +n02342885 +n02346627 +n02356798 +n02361337 +n02363005 +n02364673 +n02389026 +n02391049 +n02395406 +n02396427 +n02397096 +n02398521 +n02403003 +n02408429 +n02410509 +n02412080 +n02415577 +n02417914 +n02422106 +n02422699 +n02423022 +n02437312 +n02437616 +n02441942 +n02442845 +n02443114 +n02443484 +n02444819 +n02445715 +n02447366 +n02454379 +n02457408 +n02480495 +n02480855 +n02481823 +n02483362 +n02483708 +n02484975 +n02486261 +n02486410 +n02487347 +n02488291 +n02488702 +n02489166 +n02490219 +n02492035 +n02492660 +n02493509 +n02493793 +n02494079 +n02497673 +n02500267 +n02504013 +n02504458 +n02509815 +n02510455 +n02514041 +n02526121 +n02536864 +n02606052 +n02607072 +n02640242 +n02641379 +n02643566 +n02655020 +n02666196 +n02667093 +n02669723 +n02672831 +n02676566 +n02687172 +n02690373 +n02692877 +n02699494 +n02701002 +n02704792 +n02708093 +n02727426 +n02730930 +n02747177 +n02749479 +n02769748 +n02776631 +n02777292 +n02782093 +n02783161 +n02786058 +n02787622 +n02788148 +n02790996 +n02791124 +n02791270 +n02793495 +n02794156 +n02795169 +n02797295 +n02799071 +n02802426 +n02804414 +n02804610 +n02807133 +n02808304 +n02808440 +n02814533 +n02814860 +n02815834 +n02817516 +n02823428 +n02823750 +n02825657 +n02834397 +n02835271 +n02837789 +n02840245 +n02841315 +n02843684 +n02859443 +n02860847 +n02865351 +n02869837 +n02870880 +n02871525 +n02877765 +n02879718 +n02883205 +n02892201 +n02892767 +n02894605 +n02895154 +n02906734 +n02909870 +n02910353 +n02916936 +n02917067 +n02927161 +n02930766 +n02939185 +n02948072 +n02950826 +n02951358 +n02951585 +n02963159 +n02965783 +n02966193 +n02966687 +n02971356 +n02974003 +n02977058 +n02978881 +n02979186 +n02980441 +n02981792 +n02988304 +n02992211 +n02992529 +n02999410 +n03000134 +n03000247 +n03000684 +n03014705 +n03016953 +n03017168 +n03018349 +n03026506 +n03028079 +n03032252 +n03041632 +n03042490 +n03045698 +n03047690 +n03062245 +n03063599 +n03063689 +n03065424 +n03075370 +n03085013 +n03089624 +n03095699 +n03100240 +n03109150 +n03110669 +n03124043 +n03124170 +n03125729 +n03126707 +n03127747 +n03127925 +n03131574 +n03133878 +n03134739 +n03141823 +n03146219 +n03160309 +n03179701 +n03180011 +n03187595 +n03188531 +n03196217 +n03197337 +n03201208 +n03207743 +n03207941 +n03208938 +n03216828 +n03218198 +n03220513 +n03223299 +n03240683 +n03249569 +n03250847 +n03255030 +n03259280 +n03271574 +n03272010 +n03272562 +n03290653 +n03291819 +n03297495 +n03314780 +n03325584 +n03337140 +n03344393 +n03345487 +n03347037 +n03355925 +n03372029 +n03376595 +n03379051 +n03384352 +n03388043 +n03388183 +n03388549 +n03393912 +n03394916 +n03400231 +n03404251 +n03417042 +n03424325 +n03425413 +n03443371 +n03444034 +n03445777 +n03445924 +n03447447 +n03447721 +n03450230 +n03452741 +n03457902 +n03459775 +n03461385 +n03467068 +n03476684 +n03476991 +n03478589 +n03481172 +n03482405 +n03483316 +n03485407 +n03485794 +n03492542 +n03494278 +n03495258 +n03496892 +n03498962 +n03527444 +n03529860 +n03530642 +n03532672 +n03534580 +n03535780 +n03538406 +n03544143 +n03584254 +n03584829 +n03590841 +n03594734 +n03594945 +n03595614 +n03598930 +n03599486 +n03602883 +n03617480 +n03623198 +n03627232 +n03630383 +n03633091 +n03637318 +n03642806 +n03649909 +n03657121 +n03658185 +n03661043 +n03662601 +n03666591 +n03670208 +n03673027 +n03676483 +n03680355 +n03690938 +n03691459 +n03692522 +n03697007 +n03706229 +n03709823 +n03710193 +n03710637 +n03710721 +n03717622 +n03720891 +n03721384 +n03724870 +n03729826 +n03733131 +n03733281 +n03733805 +n03742115 +n03743016 +n03759954 +n03761084 +n03763968 +n03764736 +n03769881 +n03770439 +n03770679 +n03773504 +n03775071 +n03775546 +n03776460 +n03777568 +n03777754 +n03781244 +n03782006 +n03785016 +n03786901 +n03787032 +n03788195 +n03788365 +n03791053 +n03792782 +n03792972 +n03793489 +n03794056 +n03796401 +n03803284 +n03804744 +n03814639 +n03814906 +n03825788 +n03832673 +n03837869 +n03838899 +n03840681 +n03841143 +n03843555 +n03854065 +n03857828 +n03866082 +n03868242 +n03868863 +n03871628 +n03873416 +n03874293 +n03874599 +n03876231 +n03877472 +n03877845 +n03884397 +n03887697 +n03888257 +n03888605 +n03891251 +n03891332 +n03895866 +n03899768 +n03902125 +n03903868 +n03908618 +n03908714 +n03916031 +n03920288 +n03924679 +n03929660 +n03929855 +n03930313 +n03930630 +n03933933 +n03935335 +n03937543 +n03938244 +n03942813 +n03944341 +n03947888 +n03950228 +n03954731 +n03956157 +n03958227 +n03961711 +n03967562 +n03970156 +n03976467 +n03976657 +n03977966 +n03980874 +n03982430 +n03983396 +n03991062 +n03992509 +n03995372 +n03998194 +n04004767 +n04005630 +n04008634 +n04009552 +n04019541 +n04023962 +n04026417 +n04033901 +n04033995 +n04037443 +n04039381 +n04040759 +n04041544 +n04044716 +n04049303 +n04065272 +n04067472 +n04069434 +n04070727 +n04074963 +n04081281 +n04086273 +n04090263 +n04099969 +n04111531 +n04116512 +n04118538 +n04118776 +n04120489 +n04125021 +n04127249 +n04131690 +n04133789 +n04136333 +n04141076 +n04141327 +n04141975 +n04146614 +n04147183 +n04149813 +n04152593 +n04153751 +n04154565 +n04162706 +n04179913 +n04192698 +n04200800 +n04201297 +n04204238 +n04204347 +n04208210 +n04209133 +n04209239 +n04228054 +n04229816 +n04235860 +n04238763 +n04239074 +n04243546 +n04251144 +n04252077 +n04252225 +n04254120 +n04254680 +n04254777 +n04258138 +n04259630 +n04263257 +n04264628 +n04265275 +n04266014 +n04270147 +n04273569 +n04275548 +n04277352 +n04285008 +n04286575 +n04296562 +n04310018 +n04311004 +n04311174 +n04317175 +n04325704 +n04326547 +n04328186 +n04330267 +n04332243 +n04335435 +n04336792 +n04344873 +n04346328 +n04347754 +n04350905 +n04355338 +n04355933 +n04356056 +n04357314 +n04366367 +n04367480 +n04370456 +n04371430 +n04371774 +n04372370 +n04376876 +n04380533 +n04389033 +n04392985 +n04398044 +n04399382 +n04404412 +n04409515 +n04417672 +n04418357 +n04423845 +n04428191 +n04429376 +n04435653 +n04442312 +n04443257 +n04447861 +n04456115 +n04458633 +n04461696 +n04462240 +n04465501 +n04467665 +n04476259 +n04479046 +n04482393 +n04483307 +n04485082 +n04486054 +n04487081 +n04487394 +n04493381 +n04501370 +n04505470 +n04507155 +n04509417 +n04515003 +n04517823 +n04522168 +n04523525 +n04525038 +n04525305 +n04532106 +n04532670 +n04536866 +n04540053 +n04542943 +n04548280 +n04548362 +n04550184 +n04552348 +n04553703 +n04554684 +n04557648 +n04560804 +n04562935 +n04579145 +n04579432 +n04584207 +n04589890 +n04590129 +n04591157 +n04591713 +n04592741 +n04596742 +n04597913 +n04599235 +n04604644 +n04606251 +n04612504 +n04613696 +n06359193 +n06596364 +n06785654 +n06794110 +n06874185 +n07248320 +n07565083 +n07579787 +n07583066 +n07584110 +n07590611 +n07613480 +n07614500 +n07615774 +n07684084 +n07693725 +n07695742 +n07697313 +n07697537 +n07711569 +n07714571 +n07714990 +n07715103 +n07716358 +n07716906 +n07717410 +n07717556 +n07718472 +n07718747 +n07720875 +n07730033 +n07734744 +n07742313 +n07745940 +n07747607 +n07749582 +n07753113 +n07753275 +n07753592 +n07754684 +n07760859 +n07768694 +n07802026 +n07831146 +n07836838 +n07860988 +n07871810 +n07873807 +n07875152 +n07880968 +n07892512 +n07920052 +n07930864 +n07932039 +n09193705 +n09229709 +n09246464 +n09256479 +n09288635 +n09332890 +n09399592 +n09421951 +n09428293 +n09468604 +n09472597 +n09835506 +n10148035 +n10565667 +n11879895 +n11939491 +n12057211 +n12144580 +n12267677 +n12620546 +n12768682 +n12985857 +n12998815 +n13037406 +n13040303 +n13044778 +n13052670 +n13054560 +n13133613 +n15075141 diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py new file mode 100644 index 00000000000..5a51e877700 --- /dev/null +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -0,0 +1,131 @@ +import io +import pathlib +import re +from typing import Any, Callable, Dict, List, Optional, Tuple + +import torch +from torchdata.datapipes.iter import IterDataPipe, LineReader, KeyZipper, Mapper, TarArchiveReader, Filter, Shuffler +from torchvision.prototype.datasets.utils import ( + Dataset, + DatasetConfig, + DatasetInfo, + HttpResource, + OnlineResource, + DatasetType, +) +from torchvision.prototype.datasets.utils._internal import ( + create_categories_file, + INFINITE_BUFFER_SIZE, + path_comparator, + Enumerator, + getitem, +) + +HERE = pathlib.Path(__file__).parent + + +class ImageNet(Dataset): + @property + def info(self) -> DatasetInfo: + return DatasetInfo( + "imagenet", + type=DatasetType.IMAGE, + categories=HERE / "imagenet.categories", + homepage="https://www.image-net.org/", + valid_options=dict(split=("train", "val")), + ) + + def resources(self, config: DatasetConfig) -> List[OnlineResource]: + if config.split == "train": + images = HttpResource( + "ILSVRC2012_img_train.tar", + sha256="", + ) + else: # config.split == "val" + images = HttpResource( + "ILSVRC2012_img_val.tar", + sha256="", + ) + + devkit = HttpResource( + "ILSVRC2012_devkit_t12.tar.gz", + sha256="b59243268c0d266621fd587d2018f69e906fb22875aca0e295b48cafaa927953", + ) + + return [images, devkit] + + _TRAIN_IMAGE_NAME_PATTERN = re.compile(r"(?Pn\d{8})_\d+[.]JPEG") + + def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[None, int], Tuple[str, io.IOBase]]: + path = pathlib.Path(data[0]) + category = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("category") + return (None, self.categories.index(category)), data + + _VAL_IMAGE_NAME_PATTERN = re.compile(r"ILSVRC2012_val_(?P\d{8})[.]JPEG") + + def _val_image_key(self, data: Tuple[str, Any]) -> int: + path = pathlib.Path(data[0]) + return int(self._VAL_IMAGE_NAME_PATTERN.match(path.name).group("id")) + + def _collate_and_decode_sample( + self, + data: Tuple[Tuple[Optional[int], int], Tuple[str, io.IOBase]], + *, + decoder: Optional[Callable[[io.IOBase], torch.Tensor]], + ) -> Dict[str, Any]: + label_data, image_data = data + _, label = label_data + path, buffer = image_data + + category = self.categories[label] + label = torch.tensor(label) + + return dict(path=path, image=decoder(buffer) if decoder else buffer, category=category, label=label) + + def _make_datapipe( + self, + resource_dps: List[IterDataPipe], + *, + config: DatasetConfig, + decoder: Optional[Callable[[str, io.IOBase], torch.Tensor]], + ) -> IterDataPipe[Dict[str, Any]]: + images_dp, devkit_dp = resource_dps + + images_dp = TarArchiveReader(images_dp) + + if config.split == "train": + # the train archive is a tar of tars + dp = TarArchiveReader(images_dp) + dp = Shuffler(dp, buffer_size=INFINITE_BUFFER_SIZE) + dp = Mapper(dp, self._collate_train_data) + else: + devkit_dp = TarArchiveReader(devkit_dp) + devkit_dp = Filter(devkit_dp, path_comparator("name", "ILSVRC2012_validation_ground_truth.txt")) + devkit_dp = LineReader(devkit_dp, return_path=False) + devkit_dp = Mapper(devkit_dp, int) + devkit_dp = Enumerator(devkit_dp) + devkit_dp = Shuffler(devkit_dp, buffer_size=INFINITE_BUFFER_SIZE) + + dp = KeyZipper( + devkit_dp, + images_dp, + key_fn=getitem(0), + ref_key_fn=self._val_image_key, + buffer_size=INFINITE_BUFFER_SIZE, + ) + + return Mapper(dp, self._collate_and_decode_sample, fn_kwargs=dict(decoder=decoder)) + + def generate_categories_file(self, root): + resources = self.resources(DatasetConfig(split="train")) + dp = resources[0].to_datapipe(pathlib.Path(root) / self.name) + dp = TarArchiveReader(dp) + categories = sorted(pathlib.Path(path).stem for path, _ in dp) + create_categories_file(HERE, self.name, categories) + + +if __name__ == "__main__": + from torchvision.prototype.datasets import home + + root = home() + ImageNet().generate_categories_file(root) From 7c390f4606d4d851925fdfc2aa51272500acb331 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 18 Oct 2021 10:36:51 +0200 Subject: [PATCH 2/9] add missing checksums --- torchvision/prototype/datasets/_builtin/imagenet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index 5a51e877700..3f36dd5b37c 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -39,12 +39,12 @@ def resources(self, config: DatasetConfig) -> List[OnlineResource]: if config.split == "train": images = HttpResource( "ILSVRC2012_img_train.tar", - sha256="", + sha256="b08200a27a8e34218a0e58fde36b0fe8f73bc377f4acea2d91602057c3ca45bb", ) else: # config.split == "val" images = HttpResource( "ILSVRC2012_img_val.tar", - sha256="", + sha256="c7e06a6c0baccf06d8dbeb6577d71efff84673a5dbdd50633ab44f8ea0456ae0", ) devkit = HttpResource( From 30e3bd5b9f322d0693454e048ce939df92c2e6bd Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 18 Oct 2021 10:47:11 +0200 Subject: [PATCH 3/9] fix mypy --- torchvision/prototype/datasets/_builtin/imagenet.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index 3f36dd5b37c..6e58c60806c 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -58,14 +58,14 @@ def resources(self, config: DatasetConfig) -> List[OnlineResource]: def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[None, int], Tuple[str, io.IOBase]]: path = pathlib.Path(data[0]) - category = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("category") + category = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("category") # type: ignore[union-attr] return (None, self.categories.index(category)), data _VAL_IMAGE_NAME_PATTERN = re.compile(r"ILSVRC2012_val_(?P\d{8})[.]JPEG") def _val_image_key(self, data: Tuple[str, Any]) -> int: path = pathlib.Path(data[0]) - return int(self._VAL_IMAGE_NAME_PATTERN.match(path.name).group("id")) + return int(self._VAL_IMAGE_NAME_PATTERN.match(path.name).group("id")) # type: ignore[union-attr] def _collate_and_decode_sample( self, @@ -87,7 +87,7 @@ def _make_datapipe( resource_dps: List[IterDataPipe], *, config: DatasetConfig, - decoder: Optional[Callable[[str, io.IOBase], torch.Tensor]], + decoder: Optional[Callable[[io.IOBase], torch.Tensor]], ) -> IterDataPipe[Dict[str, Any]]: images_dp, devkit_dp = resource_dps From fd28b9f243ef24e2a516a5e85a7b1fac6ec30e7a Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Tue, 19 Oct 2021 08:46:13 +0200 Subject: [PATCH 4/9] add human readable categories --- imagenet.categories | 1000 +++++++++ .../datasets/_builtin/imagenet.categories | 2000 ++++++++--------- .../prototype/datasets/_builtin/imagenet.py | 85 +- .../prototype/datasets/utils/_dataset.py | 73 +- .../prototype/datasets/utils/_internal.py | 99 +- 5 files changed, 2166 insertions(+), 1091 deletions(-) create mode 100644 imagenet.categories diff --git a/imagenet.categories b/imagenet.categories new file mode 100644 index 00000000000..aaf1ccee6b7 --- /dev/null +++ b/imagenet.categories @@ -0,0 +1,1000 @@ +kit fox,n02119789 +English setter,n02100735 +Siberian husky,n02110185 +Australian terrier,n02096294 +English springer,n02102040 +grey whale,n02066245 +lesser panda,n02509815 +Egyptian cat,n02124075 +ibex,n02417914 +Persian cat,n02123394 +cougar,n02125311 +gazelle,n02423022 +porcupine,n02346627 +sea lion,n02077923 +malamute,n02110063 +badger,n02447366 +Great Dane,n02109047 +Walker hound,n02089867 +Welsh springer spaniel,n02102177 +whippet,n02091134 +Scottish deerhound,n02092002 +killer whale,n02071294 +mink,n02442845 +African elephant,n02504458 +Weimaraner,n02092339 +soft-coated wheaten terrier,n02098105 +Dandie Dinmont,n02096437 +red wolf,n02114712 +Old English sheepdog,n02105641 +jaguar,n02128925 +otterhound,n02091635 +bloodhound,n02088466 +Airedale,n02096051 +hyena,n02117135 +meerkat,n02138441 +giant schnauzer,n02097130 +titi,n02493509 +three-toed sloth,n02457408 +sorrel,n02389026 +black-footed ferret,n02443484 +dalmatian,n02110341 +black-and-tan coonhound,n02089078 +papillon,n02086910 +skunk,n02445715 +Staffordshire bullterrier,n02093256 +Mexican hairless,n02113978 +Bouvier des Flandres,n02106382 +weasel,n02441942 +miniature poodle,n02113712 +Cardigan,n02113186 +malinois,n02105162 +bighorn,n02415577 +fox squirrel,n02356798 +colobus,n02488702 +tiger cat,n02123159 +Lhasa,n02098413 +impala,n02422699 +coyote,n02114855 +Yorkshire terrier,n02094433 +Newfoundland,n02111277 +brown bear,n02132136 +red fox,n02119022 +Norwegian elkhound,n02091467 +Rottweiler,n02106550 +hartebeest,n02422106 +Saluki,n02091831 +grey fox,n02120505 +schipperke,n02104365 +Pekinese,n02086079 +Brabancon griffon,n02112706 +West Highland white terrier,n02098286 +Sealyham terrier,n02095889 +guenon,n02484975 +mongoose,n02137549 +indri,n02500267 +tiger,n02129604 +Irish wolfhound,n02090721 +wild boar,n02396427 +EntleBucher,n02108000 +zebra,n02391049 +ram,n02412080 +French bulldog,n02108915 +orangutan,n02480495 +basenji,n02110806 +leopard,n02128385 +Bernese mountain dog,n02107683 +Maltese dog,n02085936 +Norfolk terrier,n02094114 +toy terrier,n02087046 +vizsla,n02100583 +cairn,n02096177 +squirrel monkey,n02494079 +groenendael,n02105056 +clumber,n02101556 +Siamese cat,n02123597 +chimpanzee,n02481823 +komondor,n02105505 +Afghan hound,n02088094 +Japanese spaniel,n02085782 +proboscis monkey,n02489166 +guinea pig,n02364673 +white wolf,n02114548 +ice bear,n02134084 +gorilla,n02480855 +borzoi,n02090622 +toy poodle,n02113624 +Kerry blue terrier,n02093859 +ox,n02403003 +Scotch terrier,n02097298 +Tibetan mastiff,n02108551 +spider monkey,n02493793 +Doberman,n02107142 +Boston bull,n02096585 +Greater Swiss Mountain dog,n02107574 +Appenzeller,n02107908 +Shih-Tzu,n02086240 +Irish water spaniel,n02102973 +Pomeranian,n02112018 +Bedlington terrier,n02093647 +warthog,n02397096 +Arabian camel,n02437312 +siamang,n02483708 +miniature schnauzer,n02097047 +collie,n02106030 +golden retriever,n02099601 +Irish terrier,n02093991 +affenpinscher,n02110627 +Border collie,n02106166 +hare,n02326432 +boxer,n02108089 +silky terrier,n02097658 +beagle,n02088364 +Leonberg,n02111129 +German short-haired pointer,n02100236 +patas,n02486261 +dhole,n02115913 +baboon,n02486410 +macaque,n02487347 +Chesapeake Bay retriever,n02099849 +bull mastiff,n02108422 +kuvasz,n02104029 +capuchin,n02492035 +pug,n02110958 +curly-coated retriever,n02099429 +Norwich terrier,n02094258 +flat-coated retriever,n02099267 +hog,n02395406 +keeshond,n02112350 +Eskimo dog,n02109961 +Brittany spaniel,n02101388 +standard poodle,n02113799 +Lakeland terrier,n02095570 +snow leopard,n02128757 +Gordon setter,n02101006 +dingo,n02115641 +standard schnauzer,n02097209 +hamster,n02342885 +Tibetan terrier,n02097474 +Arctic fox,n02120079 +wire-haired fox terrier,n02095314 +basset,n02088238 +water buffalo,n02408429 +American black bear,n02133161 +Angora,n02328150 +bison,n02410509 +howler monkey,n02492660 +hippopotamus,n02398521 +chow,n02112137 +giant panda,n02510455 +American Staffordshire terrier,n02093428 +Shetland sheepdog,n02105855 +Great Pyrenees,n02111500 +Chihuahua,n02085620 +tabby,n02123045 +marmoset,n02490219 +Labrador retriever,n02099712 +Saint Bernard,n02109525 +armadillo,n02454379 +Samoyed,n02111889 +bluetick,n02088632 +redbone,n02090379 +polecat,n02443114 +marmot,n02361337 +kelpie,n02105412 +gibbon,n02483362 +llama,n02437616 +miniature pinscher,n02107312 +wood rabbit,n02325366 +Italian greyhound,n02091032 +lion,n02129165 +cocker spaniel,n02102318 +Irish setter,n02100877 +dugong,n02074367 +Indian elephant,n02504013 +beaver,n02363005 +Sussex spaniel,n02102480 +Pembroke,n02113023 +Blenheim spaniel,n02086646 +Madagascar cat,n02497673 +Rhodesian ridgeback,n02087394 +lynx,n02127052 +African hunting dog,n02116738 +langur,n02488291 +Ibizan hound,n02091244 +timber wolf,n02114367 +cheetah,n02130308 +English foxhound,n02089973 +briard,n02105251 +sloth bear,n02134418 +Border terrier,n02093754 +German shepherd,n02106662 +otter,n02444819 +koala,n01882714 +tusker,n01871265 +echidna,n01872401 +wallaby,n01877812 +platypus,n01873310 +wombat,n01883070 +revolver,n04086273 +umbrella,n04507155 +schooner,n04147183 +soccer ball,n04254680 +accordion,n02672831 +ant,n02219486 +starfish,n02317335 +chambered nautilus,n01968897 +grand piano,n03452741 +laptop,n03642806 +strawberry,n07745940 +airliner,n02690373 +warplane,n04552348 +airship,n02692877 +balloon,n02782093 +space shuttle,n04266014 +fireboat,n03344393 +gondola,n03447447 +speedboat,n04273569 +lifeboat,n03662601 +canoe,n02951358 +yawl,n04612504 +catamaran,n02981792 +trimaran,n04483307 +container ship,n03095699 +liner,n03673027 +pirate,n03947888 +aircraft carrier,n02687172 +submarine,n04347754 +wreck,n04606251 +half track,n03478589 +tank,n04389033 +missile,n03773504 +bobsled,n02860847 +dogsled,n03218198 +bicycle-built-for-two,n02835271 +mountain bike,n03792782 +freight car,n03393912 +passenger car,n03895866 +barrow,n02797295 +shopping cart,n04204347 +motor scooter,n03791053 +forklift,n03384352 +electric locomotive,n03272562 +steam locomotive,n04310018 +amphibian,n02704792 +ambulance,n02701002 +beach wagon,n02814533 +cab,n02930766 +convertible,n03100240 +jeep,n03594945 +limousine,n03670208 +minivan,n03770679 +Model T,n03777568 +racer,n04037443 +sports car,n04285008 +go-kart,n03444034 +golfcart,n03445924 +moped,n03785016 +snowplow,n04252225 +fire engine,n03345487 +garbage truck,n03417042 +pickup,n03930630 +tow truck,n04461696 +trailer truck,n04467665 +moving van,n03796401 +police van,n03977966 +recreational vehicle,n04065272 +streetcar,n04335435 +snowmobile,n04252077 +tractor,n04465501 +mobile home,n03776460 +tricycle,n04482393 +unicycle,n04509417 +horse cart,n03538406 +jinrikisha,n03599486 +oxcart,n03868242 +bassinet,n02804414 +cradle,n03125729 +crib,n03131574 +four-poster,n03388549 +bookcase,n02870880 +china cabinet,n03018349 +medicine chest,n03742115 +chiffonier,n03016953 +table lamp,n04380533 +file,n03337140 +park bench,n03891251 +barber chair,n02791124 +throne,n04429376 +folding chair,n03376595 +rocking chair,n04099969 +studio couch,n04344873 +toilet seat,n04447861 +desk,n03179701 +pool table,n03982430 +dining table,n03201208 +entertainment center,n03290653 +wardrobe,n04550184 +Granny Smith,n07742313 +orange,n07747607 +lemon,n07749582 +fig,n07753113 +pineapple,n07753275 +banana,n07753592 +jackfruit,n07754684 +custard apple,n07760859 +pomegranate,n07768694 +acorn,n12267677 +hip,n12620546 +ear,n13133613 +rapeseed,n11879895 +corn,n12144580 +buckeye,n12768682 +organ,n03854065 +upright,n04515003 +chime,n03017168 +drum,n03249569 +gong,n03447721 +maraca,n03720891 +marimba,n03721384 +steel drum,n04311174 +banjo,n02787622 +cello,n02992211 +violin,n04536866 +harp,n03495258 +acoustic guitar,n02676566 +electric guitar,n03272010 +cornet,n03110669 +French horn,n03394916 +trombone,n04487394 +harmonica,n03494278 +ocarina,n03840681 +panpipe,n03884397 +bassoon,n02804610 +oboe,n03838899 +sax,n04141076 +flute,n03372029 +daisy,n11939491 +yellow lady's slipper,n12057211 +cliff,n09246464 +valley,n09468604 +alp,n09193705 +volcano,n09472597 +promontory,n09399592 +sandbar,n09421951 +coral reef,n09256479 +lakeside,n09332890 +seashore,n09428293 +geyser,n09288635 +hatchet,n03498962 +cleaver,n03041632 +letter opener,n03658185 +plane,n03954731 +power drill,n03995372 +lawn mower,n03649909 +hammer,n03481172 +corkscrew,n03109150 +can opener,n02951585 +plunger,n03970156 +screwdriver,n04154565 +shovel,n04208210 +plow,n03967562 +chain saw,n03000684 +cock,n01514668 +hen,n01514859 +ostrich,n01518878 +brambling,n01530575 +goldfinch,n01531178 +house finch,n01532829 +junco,n01534433 +indigo bunting,n01537544 +robin,n01558993 +bulbul,n01560419 +jay,n01580077 +magpie,n01582220 +chickadee,n01592084 +water ouzel,n01601694 +kite,n01608432 +bald eagle,n01614925 +vulture,n01616318 +great grey owl,n01622779 +black grouse,n01795545 +ptarmigan,n01796340 +ruffed grouse,n01797886 +prairie chicken,n01798484 +peacock,n01806143 +quail,n01806567 +partridge,n01807496 +African grey,n01817953 +macaw,n01818515 +sulphur-crested cockatoo,n01819313 +lorikeet,n01820546 +coucal,n01824575 +bee eater,n01828970 +hornbill,n01829413 +hummingbird,n01833805 +jacamar,n01843065 +toucan,n01843383 +drake,n01847000 +red-breasted merganser,n01855032 +goose,n01855672 +black swan,n01860187 +white stork,n02002556 +black stork,n02002724 +spoonbill,n02006656 +flamingo,n02007558 +American egret,n02009912 +little blue heron,n02009229 +bittern,n02011460 +construction crane,n02012849 +limpkin,n02013706 +American coot,n02018207 +bustard,n02018795 +ruddy turnstone,n02025239 +red-backed sandpiper,n02027492 +redshank,n02028035 +dowitcher,n02033041 +oystercatcher,n02037110 +European gallinule,n02017213 +pelican,n02051845 +king penguin,n02056570 +albatross,n02058221 +great white shark,n01484850 +tiger shark,n01491361 +hammerhead,n01494475 +electric ray,n01496331 +stingray,n01498041 +barracouta,n02514041 +coho,n02536864 +tench,n01440764 +goldfish,n01443537 +eel,n02526121 +rock beauty,n02606052 +anemone fish,n02607072 +lionfish,n02643566 +puffer,n02655020 +sturgeon,n02640242 +gar,n02641379 +loggerhead,n01664065 +leatherback turtle,n01665541 +mud turtle,n01667114 +terrapin,n01667778 +box turtle,n01669191 +banded gecko,n01675722 +common iguana,n01677366 +American chameleon,n01682714 +whiptail,n01685808 +agama,n01687978 +frilled lizard,n01688243 +alligator lizard,n01689811 +Gila monster,n01692333 +green lizard,n01693334 +African chameleon,n01694178 +Komodo dragon,n01695060 +triceratops,n01704323 +African crocodile,n01697457 +American alligator,n01698640 +thunder snake,n01728572 +ringneck snake,n01728920 +hognose snake,n01729322 +green snake,n01729977 +king snake,n01734418 +garter snake,n01735189 +water snake,n01737021 +vine snake,n01739381 +night snake,n01740131 +boa constrictor,n01742172 +rock python,n01744401 +Indian cobra,n01748264 +green mamba,n01749939 +sea snake,n01751748 +horned viper,n01753488 +diamondback,n01755581 +sidewinder,n01756291 +European fire salamander,n01629819 +common newt,n01630670 +eft,n01631663 +spotted salamander,n01632458 +axolotl,n01632777 +bullfrog,n01641577 +tree frog,n01644373 +tailed frog,n01644900 +whistle,n04579432 +wing,n04592741 +paintbrush,n03876231 +hand blower,n03483316 +oxygen mask,n03868863 +snorkel,n04251144 +loudspeaker,n03691459 +microphone,n03759954 +screen,n04152593 +mouse,n03793489 +electric fan,n03271574 +oil filter,n03843555 +strainer,n04332243 +space heater,n04265275 +stove,n04330267 +guillotine,n03467068 +barometer,n02794156 +rule,n04118776 +odometer,n03841143 +scale,n04141975 +analog clock,n02708093 +digital clock,n03196217 +wall clock,n04548280 +hourglass,n03544143 +sundial,n04355338 +parking meter,n03891332 +stopwatch,n04328186 +digital watch,n03197337 +stethoscope,n04317175 +syringe,n04376876 +magnetic compass,n03706229 +binoculars,n02841315 +projector,n04009552 +sunglasses,n04356056 +loupe,n03692522 +radio telescope,n04044716 +bow,n02879718 +cannon,n02950826 +assault rifle,n02749479 +rifle,n04090263 +projectile,n04008634 +computer keyboard,n03085013 +typewriter keyboard,n04505470 +crane,n03126707 +lighter,n03666591 +abacus,n02666196 +cash machine,n02977058 +slide rule,n04238763 +desktop computer,n03180011 +hand-held computer,n03485407 +notebook,n03832673 +web site,n06359193 +harvester,n03496892 +thresher,n04428191 +printer,n04004767 +slot,n04243546 +vending machine,n04525305 +sewing machine,n04179913 +joystick,n03602883 +switch,n04372370 +hook,n03532672 +car wheel,n02974003 +paddlewheel,n03874293 +pinwheel,n03944341 +potter's wheel,n03992509 +gas pump,n03425413 +carousel,n02966193 +swing,n04371774 +reel,n04067472 +radiator,n04040759 +puck,n04019541 +hard disc,n03492542 +sunglass,n04355933 +pick,n03929660 +car mirror,n02965783 +solar dish,n04258138 +remote control,n04074963 +disk brake,n03208938 +buckle,n02910353 +hair slide,n03476684 +knot,n03627232 +combination lock,n03075370 +padlock,n03874599 +nail,n03804744 +safety pin,n04127249 +screw,n04153751 +muzzle,n03803284 +seat belt,n04162706 +ski,n04228054 +candle,n02948072 +jack-o'-lantern,n03590841 +spotlight,n04286575 +torch,n04456115 +neck brace,n03814639 +pier,n03933933 +tripod,n04485082 +maypole,n03733131 +mousetrap,n03794056 +spider web,n04275548 +trilobite,n01768244 +harvestman,n01770081 +scorpion,n01770393 +black and gold garden spider,n01773157 +barn spider,n01773549 +garden spider,n01773797 +black widow,n01774384 +tarantula,n01774750 +wolf spider,n01775062 +tick,n01776313 +centipede,n01784675 +isopod,n01990800 +Dungeness crab,n01978287 +rock crab,n01978455 +fiddler crab,n01980166 +king crab,n01981276 +American lobster,n01983481 +spiny lobster,n01984695 +crayfish,n01985128 +hermit crab,n01986214 +tiger beetle,n02165105 +ladybug,n02165456 +ground beetle,n02167151 +long-horned beetle,n02168699 +leaf beetle,n02169497 +dung beetle,n02172182 +rhinoceros beetle,n02174001 +weevil,n02177972 +fly,n02190166 +bee,n02206856 +grasshopper,n02226429 +cricket,n02229544 +walking stick,n02231487 +cockroach,n02233338 +mantis,n02236044 +cicada,n02256656 +leafhopper,n02259212 +lacewing,n02264363 +dragonfly,n02268443 +damselfly,n02268853 +admiral,n02276258 +ringlet,n02277742 +monarch,n02279972 +cabbage butterfly,n02280649 +sulphur butterfly,n02281406 +lycaenid,n02281787 +jellyfish,n01910747 +sea anemone,n01914609 +brain coral,n01917289 +flatworm,n01924916 +nematode,n01930112 +conch,n01943899 +snail,n01944390 +slug,n01945685 +sea slug,n01950731 +chiton,n01955084 +sea urchin,n02319095 +sea cucumber,n02321529 +iron,n03584829 +espresso maker,n03297495 +microwave,n03761084 +Dutch oven,n03259280 +rotisserie,n04111531 +toaster,n04442312 +waffle iron,n04542943 +vacuum,n04517823 +dishwasher,n03207941 +refrigerator,n04070727 +washer,n04554684 +Crock Pot,n03133878 +frying pan,n03400231 +wok,n04596742 +caldron,n02939185 +coffeepot,n03063689 +teapot,n04398044 +spatula,n04270147 +altar,n02699494 +triumphal arch,n04486054 +patio,n03899768 +steel arch bridge,n04311004 +suspension bridge,n04366367 +viaduct,n04532670 +barn,n02793495 +greenhouse,n03457902 +palace,n03877845 +monastery,n03781244 +library,n03661043 +apiary,n02727426 +boathouse,n02859443 +church,n03028079 +mosque,n03788195 +stupa,n04346328 +planetarium,n03956157 +restaurant,n04081281 +cinema,n03032252 +home theater,n03529860 +lumbermill,n03697007 +coil,n03065424 +obelisk,n03837869 +totem pole,n04458633 +castle,n02980441 +prison,n04005630 +grocery store,n03461385 +bakery,n02776631 +barbershop,n02791270 +bookshop,n02871525 +butcher shop,n02927161 +confectionery,n03089624 +shoe shop,n04200800 +tobacco shop,n04443257 +toyshop,n04462240 +fountain,n03388043 +cliff dwelling,n03042490 +yurt,n04613696 +dock,n03216828 +brass,n02892201 +megalith,n03743016 +bannister,n02788148 +breakwater,n02894605 +dam,n03160309 +chainlink fence,n03000134 +picket fence,n03930313 +worm fence,n04604644 +stone wall,n04326547 +grille,n03459775 +sliding door,n04239074 +turnstile,n04501370 +mountain tent,n03792972 +scoreboard,n04149813 +honeycomb,n03530642 +plate rack,n03961711 +pedestal,n03903868 +beacon,n02814860 +mashed potato,n07711569 +bell pepper,n07720875 +head cabbage,n07714571 +broccoli,n07714990 +cauliflower,n07715103 +zucchini,n07716358 +spaghetti squash,n07716906 +acorn squash,n07717410 +butternut squash,n07717556 +cucumber,n07718472 +artichoke,n07718747 +cardoon,n07730033 +mushroom,n07734744 +shower curtain,n04209239 +jean,n03594734 +carton,n02971356 +handkerchief,n03485794 +sandal,n04133789 +ashcan,n02747177 +safe,n04125021 +plate,n07579787 +necklace,n03814906 +croquet ball,n03134739 +fur coat,n03404251 +thimble,n04423845 +pajama,n03877472 +running shoe,n04120489 +cocktail shaker,n03062245 +chest,n03014705 +manhole cover,n03717622 +modem,n03777754 +tub,n04493381 +tray,n04476259 +balance beam,n02777292 +bagel,n07693725 +prayer rug,n03998194 +kimono,n03617480 +hot pot,n07590611 +whiskey jug,n04579145 +knee pad,n03623198 +book jacket,n07248320 +spindle,n04277352 +ski mask,n04229816 +beer bottle,n02823428 +crash helmet,n03127747 +bottlecap,n02877765 +tile roof,n04435653 +mask,n03724870 +maillot,n03710637 +Petri dish,n03920288 +football helmet,n03379051 +bathing cap,n02807133 +teddy,n04399382 +holster,n03527444 +pop bottle,n03983396 +photocopier,n03924679 +vestment,n04532106 +crossword puzzle,n06785654 +golf ball,n03445777 +trifle,n07613480 +suit,n04350905 +water tower,n04562935 +feather boa,n03325584 +cloak,n03045698 +red wine,n07892512 +drumstick,n03250847 +shield,n04192698 +Christmas stocking,n03026506 +hoopskirt,n03534580 +menu,n07565083 +stage,n04296562 +bonnet,n02869837 +meat loaf,n07871810 +baseball,n02799071 +face powder,n03314780 +scabbard,n04141327 +sunscreen,n04357314 +beer glass,n02823750 +hen-of-the-woods,n13052670 +guacamole,n07583066 +lampshade,n03637318 +wool,n04599235 +hay,n07802026 +bow tie,n02883205 +mailbag,n03709823 +water jug,n04560804 +bucket,n02909870 +dishrag,n03207743 +soup bowl,n04263257 +eggnog,n07932039 +mortar,n03786901 +trench coat,n04479046 +paddle,n03873416 +chain,n02999410 +swab,n04367480 +mixing bowl,n03775546 +potpie,n07875152 +wine bottle,n04591713 +shoji,n04201297 +bulletproof vest,n02916936 +drilling platform,n03240683 +binder,n02840245 +cardigan,n02963159 +sweatshirt,n04370456 +pot,n03991062 +birdhouse,n02843684 +hamper,n03482405 +ping-pong ball,n03942813 +pencil box,n03908618 +pay-phone,n03902125 +consomme,n07584110 +apron,n02730930 +punching bag,n04023962 +backpack,n02769748 +groom,n10148035 +bearskin,n02817516 +pencil sharpener,n03908714 +broom,n02906734 +mosquito net,n03788365 +abaya,n02667093 +mortarboard,n03787032 +poncho,n03980874 +crutch,n03141823 +Polaroid camera,n03976467 +space bar,n04264628 +cup,n07930864 +racket,n04039381 +traffic light,n06874185 +quill,n04033901 +radio,n04041544 +dough,n07860988 +cuirass,n03146219 +military uniform,n03763968 +lipstick,n03676483 +shower cap,n04209133 +monitor,n03782006 +oscilloscope,n03857828 +mitten,n03775071 +brassiere,n02892767 +French loaf,n07684084 +vase,n04522168 +milk can,n03764736 +rugby ball,n04118538 +paper towel,n03887697 +earthstar,n13044778 +envelope,n03291819 +miniskirt,n03770439 +cowboy hat,n03124170 +trolleybus,n04487081 +perfume,n03916031 +bathtub,n02808440 +hotdog,n07697537 +coral fungus,n12985857 +bullet train,n02917067 +pillow,n03938244 +toilet tissue,n15075141 +cassette,n02978881 +carpenter's kit,n02966687 +ladle,n03633091 +stinkhorn,n13040303 +lotion,n03690938 +hair spray,n03476991 +academic gown,n02669723 +dome,n03220513 +crate,n03127925 +wig,n04584207 +burrito,n07880968 +pill bottle,n03937543 +chain mail,n03000247 +theater curtain,n04418357 +window shade,n04590129 +barrel,n02795169 +washbasin,n04553703 +ballpoint,n02783161 +basketball,n02802426 +bath towel,n02808304 +cowboy boot,n03124043 +gown,n03450230 +window screen,n04589890 +agaric,n12998815 +cellular telephone,n02992529 +nipple,n03825788 +barbell,n02790996 +mailbox,n03710193 +lab coat,n03630383 +fire screen,n03347037 +minibus,n03769881 +packet,n03871628 +maze,n03733281 +pole,n03976657 +horizontal bar,n03535780 +sombrero,n04259630 +pickelhaube,n03929855 +rain barrel,n04049303 +wallet,n04548362 +cassette player,n02979186 +comic book,n06596364 +piggy bank,n03935335 +street sign,n06794110 +bell cote,n02825657 +fountain pen,n03388183 +Windsor tie,n04591157 +volleyball,n04540053 +overskirt,n03866082 +sarong,n04136333 +purse,n04026417 +bolo tie,n02865351 +bib,n02834397 +parachute,n03888257 +sleeping bag,n04235860 +television,n04404412 +swimming trunks,n04371430 +measuring cup,n03733805 +espresso,n07920052 +pizza,n07873807 +breastplate,n02895154 +shopping basket,n04204238 +wooden spoon,n04597913 +saltshaker,n04131690 +chocolate sauce,n07836838 +ballplayer,n09835506 +goblet,n03443371 +gyromitra,n13037406 +stretcher,n04336792 +water bottle,n04557648 +dial telephone,n03187595 +soap dispenser,n04254120 +jersey,n03595614 +school bus,n04146614 +jigsaw puzzle,n03598930 +plastic bag,n03958227 +reflex camera,n04069434 +diaper,n03188531 +Band Aid,n02786058 +ice lolly,n07615774 +velvet,n04525038 +tennis ball,n04409515 +gasmask,n03424325 +doormat,n03223299 +Loafer,n03680355 +ice cream,n07614500 +pretzel,n07695742 +quilt,n04033995 +maillot tank suite,n03710721 +tape player,n04392985 +clog,n03047690 +iPod,n03584254 +bolete,n13054560 +scuba diver,n10565667 +pitcher,n03950228 +matchstick,n03729826 +bikini,n02837789 +sock,n04254777 +CD player,n02988304 +lens cap,n03657121 +thatch,n04417672 +vault,n04523525 +beaker,n02815834 +bubble,n09229709 +cheeseburger,n07697313 +parallel bars,n03888605 +flagpole,n03355925 +coffee mug,n03063599 +rubber eraser,n04116512 +stole,n04325704 +carbonara,n07831146 +dumbbell,n03255030 diff --git a/torchvision/prototype/datasets/_builtin/imagenet.categories b/torchvision/prototype/datasets/_builtin/imagenet.categories index 88aa58f966b..19fd6dea349 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.categories +++ b/torchvision/prototype/datasets/_builtin/imagenet.categories @@ -1,1000 +1,1000 @@ -n01440764 -n01443537 -n01484850 -n01491361 -n01494475 -n01496331 -n01498041 -n01514668 -n01514859 -n01518878 -n01530575 -n01531178 -n01532829 -n01534433 -n01537544 -n01558993 -n01560419 -n01580077 -n01582220 -n01592084 -n01601694 -n01608432 -n01614925 -n01616318 -n01622779 -n01629819 -n01630670 -n01631663 -n01632458 -n01632777 -n01641577 -n01644373 -n01644900 -n01664065 -n01665541 -n01667114 -n01667778 -n01669191 -n01675722 -n01677366 -n01682714 -n01685808 -n01687978 -n01688243 -n01689811 -n01692333 -n01693334 -n01694178 -n01695060 -n01697457 -n01698640 -n01704323 -n01728572 -n01728920 -n01729322 -n01729977 -n01734418 -n01735189 -n01737021 -n01739381 -n01740131 -n01742172 -n01744401 -n01748264 -n01749939 -n01751748 -n01753488 -n01755581 -n01756291 -n01768244 -n01770081 -n01770393 -n01773157 -n01773549 -n01773797 -n01774384 -n01774750 -n01775062 -n01776313 -n01784675 -n01795545 -n01796340 -n01797886 -n01798484 -n01806143 -n01806567 -n01807496 -n01817953 -n01818515 -n01819313 -n01820546 -n01824575 -n01828970 -n01829413 -n01833805 -n01843065 -n01843383 -n01847000 -n01855032 -n01855672 -n01860187 -n01871265 -n01872401 -n01873310 -n01877812 -n01882714 -n01883070 -n01910747 -n01914609 -n01917289 -n01924916 -n01930112 -n01943899 -n01944390 -n01945685 -n01950731 -n01955084 -n01968897 -n01978287 -n01978455 -n01980166 -n01981276 -n01983481 -n01984695 -n01985128 -n01986214 -n01990800 -n02002556 -n02002724 -n02006656 -n02007558 -n02009229 -n02009912 -n02011460 -n02012849 -n02013706 -n02017213 -n02018207 -n02018795 -n02025239 -n02027492 -n02028035 -n02033041 -n02037110 -n02051845 -n02056570 -n02058221 -n02066245 -n02071294 -n02074367 -n02077923 -n02085620 -n02085782 -n02085936 -n02086079 -n02086240 -n02086646 -n02086910 -n02087046 -n02087394 -n02088094 -n02088238 -n02088364 -n02088466 -n02088632 -n02089078 -n02089867 -n02089973 -n02090379 -n02090622 -n02090721 -n02091032 -n02091134 -n02091244 -n02091467 -n02091635 -n02091831 -n02092002 -n02092339 -n02093256 -n02093428 -n02093647 -n02093754 -n02093859 -n02093991 -n02094114 -n02094258 -n02094433 -n02095314 -n02095570 -n02095889 -n02096051 -n02096177 -n02096294 -n02096437 -n02096585 -n02097047 -n02097130 -n02097209 -n02097298 -n02097474 -n02097658 -n02098105 -n02098286 -n02098413 -n02099267 -n02099429 -n02099601 -n02099712 -n02099849 -n02100236 -n02100583 -n02100735 -n02100877 -n02101006 -n02101388 -n02101556 -n02102040 -n02102177 -n02102318 -n02102480 -n02102973 -n02104029 -n02104365 -n02105056 -n02105162 -n02105251 -n02105412 -n02105505 -n02105641 -n02105855 -n02106030 -n02106166 -n02106382 -n02106550 -n02106662 -n02107142 -n02107312 -n02107574 -n02107683 -n02107908 -n02108000 -n02108089 -n02108422 -n02108551 -n02108915 -n02109047 -n02109525 -n02109961 -n02110063 -n02110185 -n02110341 -n02110627 -n02110806 -n02110958 -n02111129 -n02111277 -n02111500 -n02111889 -n02112018 -n02112137 -n02112350 -n02112706 -n02113023 -n02113186 -n02113624 -n02113712 -n02113799 -n02113978 -n02114367 -n02114548 -n02114712 -n02114855 -n02115641 -n02115913 -n02116738 -n02117135 -n02119022 -n02119789 -n02120079 -n02120505 -n02123045 -n02123159 -n02123394 -n02123597 -n02124075 -n02125311 -n02127052 -n02128385 -n02128757 -n02128925 -n02129165 -n02129604 -n02130308 -n02132136 -n02133161 -n02134084 -n02134418 -n02137549 -n02138441 -n02165105 -n02165456 -n02167151 -n02168699 -n02169497 -n02172182 -n02174001 -n02177972 -n02190166 -n02206856 -n02219486 -n02226429 -n02229544 -n02231487 -n02233338 -n02236044 -n02256656 -n02259212 -n02264363 -n02268443 -n02268853 -n02276258 -n02277742 -n02279972 -n02280649 -n02281406 -n02281787 -n02317335 -n02319095 -n02321529 -n02325366 -n02326432 -n02328150 -n02342885 -n02346627 -n02356798 -n02361337 -n02363005 -n02364673 -n02389026 -n02391049 -n02395406 -n02396427 -n02397096 -n02398521 -n02403003 -n02408429 -n02410509 -n02412080 -n02415577 -n02417914 -n02422106 -n02422699 -n02423022 -n02437312 -n02437616 -n02441942 -n02442845 -n02443114 -n02443484 -n02444819 -n02445715 -n02447366 -n02454379 -n02457408 -n02480495 -n02480855 -n02481823 -n02483362 -n02483708 -n02484975 -n02486261 -n02486410 -n02487347 -n02488291 -n02488702 -n02489166 -n02490219 -n02492035 -n02492660 -n02493509 -n02493793 -n02494079 -n02497673 -n02500267 -n02504013 -n02504458 -n02509815 -n02510455 -n02514041 -n02526121 -n02536864 -n02606052 -n02607072 -n02640242 -n02641379 -n02643566 -n02655020 -n02666196 -n02667093 -n02669723 -n02672831 -n02676566 -n02687172 -n02690373 -n02692877 -n02699494 -n02701002 -n02704792 -n02708093 -n02727426 -n02730930 -n02747177 -n02749479 -n02769748 -n02776631 -n02777292 -n02782093 -n02783161 -n02786058 -n02787622 -n02788148 -n02790996 -n02791124 -n02791270 -n02793495 -n02794156 -n02795169 -n02797295 -n02799071 -n02802426 -n02804414 -n02804610 -n02807133 -n02808304 -n02808440 -n02814533 -n02814860 -n02815834 -n02817516 -n02823428 -n02823750 -n02825657 -n02834397 -n02835271 -n02837789 -n02840245 -n02841315 -n02843684 -n02859443 -n02860847 -n02865351 -n02869837 -n02870880 -n02871525 -n02877765 -n02879718 -n02883205 -n02892201 -n02892767 -n02894605 -n02895154 -n02906734 -n02909870 -n02910353 -n02916936 -n02917067 -n02927161 -n02930766 -n02939185 -n02948072 -n02950826 -n02951358 -n02951585 -n02963159 -n02965783 -n02966193 -n02966687 -n02971356 -n02974003 -n02977058 -n02978881 -n02979186 -n02980441 -n02981792 -n02988304 -n02992211 -n02992529 -n02999410 -n03000134 -n03000247 -n03000684 -n03014705 -n03016953 -n03017168 -n03018349 -n03026506 -n03028079 -n03032252 -n03041632 -n03042490 -n03045698 -n03047690 -n03062245 -n03063599 -n03063689 -n03065424 -n03075370 -n03085013 -n03089624 -n03095699 -n03100240 -n03109150 -n03110669 -n03124043 -n03124170 -n03125729 -n03126707 -n03127747 -n03127925 -n03131574 -n03133878 -n03134739 -n03141823 -n03146219 -n03160309 -n03179701 -n03180011 -n03187595 -n03188531 -n03196217 -n03197337 -n03201208 -n03207743 -n03207941 -n03208938 -n03216828 -n03218198 -n03220513 -n03223299 -n03240683 -n03249569 -n03250847 -n03255030 -n03259280 -n03271574 -n03272010 -n03272562 -n03290653 -n03291819 -n03297495 -n03314780 -n03325584 -n03337140 -n03344393 -n03345487 -n03347037 -n03355925 -n03372029 -n03376595 -n03379051 -n03384352 -n03388043 -n03388183 -n03388549 -n03393912 -n03394916 -n03400231 -n03404251 -n03417042 -n03424325 -n03425413 -n03443371 -n03444034 -n03445777 -n03445924 -n03447447 -n03447721 -n03450230 -n03452741 -n03457902 -n03459775 -n03461385 -n03467068 -n03476684 -n03476991 -n03478589 -n03481172 -n03482405 -n03483316 -n03485407 -n03485794 -n03492542 -n03494278 -n03495258 -n03496892 -n03498962 -n03527444 -n03529860 -n03530642 -n03532672 -n03534580 -n03535780 -n03538406 -n03544143 -n03584254 -n03584829 -n03590841 -n03594734 -n03594945 -n03595614 -n03598930 -n03599486 -n03602883 -n03617480 -n03623198 -n03627232 -n03630383 -n03633091 -n03637318 -n03642806 -n03649909 -n03657121 -n03658185 -n03661043 -n03662601 -n03666591 -n03670208 -n03673027 -n03676483 -n03680355 -n03690938 -n03691459 -n03692522 -n03697007 -n03706229 -n03709823 -n03710193 -n03710637 -n03710721 -n03717622 -n03720891 -n03721384 -n03724870 -n03729826 -n03733131 -n03733281 -n03733805 -n03742115 -n03743016 -n03759954 -n03761084 -n03763968 -n03764736 -n03769881 -n03770439 -n03770679 -n03773504 -n03775071 -n03775546 -n03776460 -n03777568 -n03777754 -n03781244 -n03782006 -n03785016 -n03786901 -n03787032 -n03788195 -n03788365 -n03791053 -n03792782 -n03792972 -n03793489 -n03794056 -n03796401 -n03803284 -n03804744 -n03814639 -n03814906 -n03825788 -n03832673 -n03837869 -n03838899 -n03840681 -n03841143 -n03843555 -n03854065 -n03857828 -n03866082 -n03868242 -n03868863 -n03871628 -n03873416 -n03874293 -n03874599 -n03876231 -n03877472 -n03877845 -n03884397 -n03887697 -n03888257 -n03888605 -n03891251 -n03891332 -n03895866 -n03899768 -n03902125 -n03903868 -n03908618 -n03908714 -n03916031 -n03920288 -n03924679 -n03929660 -n03929855 -n03930313 -n03930630 -n03933933 -n03935335 -n03937543 -n03938244 -n03942813 -n03944341 -n03947888 -n03950228 -n03954731 -n03956157 -n03958227 -n03961711 -n03967562 -n03970156 -n03976467 -n03976657 -n03977966 -n03980874 -n03982430 -n03983396 -n03991062 -n03992509 -n03995372 -n03998194 -n04004767 -n04005630 -n04008634 -n04009552 -n04019541 -n04023962 -n04026417 -n04033901 -n04033995 -n04037443 -n04039381 -n04040759 -n04041544 -n04044716 -n04049303 -n04065272 -n04067472 -n04069434 -n04070727 -n04074963 -n04081281 -n04086273 -n04090263 -n04099969 -n04111531 -n04116512 -n04118538 -n04118776 -n04120489 -n04125021 -n04127249 -n04131690 -n04133789 -n04136333 -n04141076 -n04141327 -n04141975 -n04146614 -n04147183 -n04149813 -n04152593 -n04153751 -n04154565 -n04162706 -n04179913 -n04192698 -n04200800 -n04201297 -n04204238 -n04204347 -n04208210 -n04209133 -n04209239 -n04228054 -n04229816 -n04235860 -n04238763 -n04239074 -n04243546 -n04251144 -n04252077 -n04252225 -n04254120 -n04254680 -n04254777 -n04258138 -n04259630 -n04263257 -n04264628 -n04265275 -n04266014 -n04270147 -n04273569 -n04275548 -n04277352 -n04285008 -n04286575 -n04296562 -n04310018 -n04311004 -n04311174 -n04317175 -n04325704 -n04326547 -n04328186 -n04330267 -n04332243 -n04335435 -n04336792 -n04344873 -n04346328 -n04347754 -n04350905 -n04355338 -n04355933 -n04356056 -n04357314 -n04366367 -n04367480 -n04370456 -n04371430 -n04371774 -n04372370 -n04376876 -n04380533 -n04389033 -n04392985 -n04398044 -n04399382 -n04404412 -n04409515 -n04417672 -n04418357 -n04423845 -n04428191 -n04429376 -n04435653 -n04442312 -n04443257 -n04447861 -n04456115 -n04458633 -n04461696 -n04462240 -n04465501 -n04467665 -n04476259 -n04479046 -n04482393 -n04483307 -n04485082 -n04486054 -n04487081 -n04487394 -n04493381 -n04501370 -n04505470 -n04507155 -n04509417 -n04515003 -n04517823 -n04522168 -n04523525 -n04525038 -n04525305 -n04532106 -n04532670 -n04536866 -n04540053 -n04542943 -n04548280 -n04548362 -n04550184 -n04552348 -n04553703 -n04554684 -n04557648 -n04560804 -n04562935 -n04579145 -n04579432 -n04584207 -n04589890 -n04590129 -n04591157 -n04591713 -n04592741 -n04596742 -n04597913 -n04599235 -n04604644 -n04606251 -n04612504 -n04613696 -n06359193 -n06596364 -n06785654 -n06794110 -n06874185 -n07248320 -n07565083 -n07579787 -n07583066 -n07584110 -n07590611 -n07613480 -n07614500 -n07615774 -n07684084 -n07693725 -n07695742 -n07697313 -n07697537 -n07711569 -n07714571 -n07714990 -n07715103 -n07716358 -n07716906 -n07717410 -n07717556 -n07718472 -n07718747 -n07720875 -n07730033 -n07734744 -n07742313 -n07745940 -n07747607 -n07749582 -n07753113 -n07753275 -n07753592 -n07754684 -n07760859 -n07768694 -n07802026 -n07831146 -n07836838 -n07860988 -n07871810 -n07873807 -n07875152 -n07880968 -n07892512 -n07920052 -n07930864 -n07932039 -n09193705 -n09229709 -n09246464 -n09256479 -n09288635 -n09332890 -n09399592 -n09421951 -n09428293 -n09468604 -n09472597 -n09835506 -n10148035 -n10565667 -n11879895 -n11939491 -n12057211 -n12144580 -n12267677 -n12620546 -n12768682 -n12985857 -n12998815 -n13037406 -n13040303 -n13044778 -n13052670 -n13054560 -n13133613 -n15075141 +kit fox,n02119789 +English setter,n02100735 +Siberian husky,n02110185 +Australian terrier,n02096294 +English springer,n02102040 +grey whale,n02066245 +lesser panda,n02509815 +Egyptian cat,n02124075 +ibex,n02417914 +Persian cat,n02123394 +cougar,n02125311 +gazelle,n02423022 +porcupine,n02346627 +sea lion,n02077923 +malamute,n02110063 +badger,n02447366 +Great Dane,n02109047 +Walker hound,n02089867 +Welsh springer spaniel,n02102177 +whippet,n02091134 +Scottish deerhound,n02092002 +killer whale,n02071294 +mink,n02442845 +African elephant,n02504458 +Weimaraner,n02092339 +soft-coated wheaten terrier,n02098105 +Dandie Dinmont,n02096437 +red wolf,n02114712 +Old English sheepdog,n02105641 +jaguar,n02128925 +otterhound,n02091635 +bloodhound,n02088466 +Airedale,n02096051 +hyena,n02117135 +meerkat,n02138441 +giant schnauzer,n02097130 +titi,n02493509 +three-toed sloth,n02457408 +sorrel,n02389026 +black-footed ferret,n02443484 +dalmatian,n02110341 +black-and-tan coonhound,n02089078 +papillon,n02086910 +skunk,n02445715 +Staffordshire bullterrier,n02093256 +Mexican hairless,n02113978 +Bouvier des Flandres,n02106382 +weasel,n02441942 +miniature poodle,n02113712 +Cardigan,n02113186 +malinois,n02105162 +bighorn,n02415577 +fox squirrel,n02356798 +colobus,n02488702 +tiger cat,n02123159 +Lhasa,n02098413 +impala,n02422699 +coyote,n02114855 +Yorkshire terrier,n02094433 +Newfoundland,n02111277 +brown bear,n02132136 +red fox,n02119022 +Norwegian elkhound,n02091467 +Rottweiler,n02106550 +hartebeest,n02422106 +Saluki,n02091831 +grey fox,n02120505 +schipperke,n02104365 +Pekinese,n02086079 +Brabancon griffon,n02112706 +West Highland white terrier,n02098286 +Sealyham terrier,n02095889 +guenon,n02484975 +mongoose,n02137549 +indri,n02500267 +tiger,n02129604 +Irish wolfhound,n02090721 +wild boar,n02396427 +EntleBucher,n02108000 +zebra,n02391049 +ram,n02412080 +French bulldog,n02108915 +orangutan,n02480495 +basenji,n02110806 +leopard,n02128385 +Bernese mountain dog,n02107683 +Maltese dog,n02085936 +Norfolk terrier,n02094114 +toy terrier,n02087046 +vizsla,n02100583 +cairn,n02096177 +squirrel monkey,n02494079 +groenendael,n02105056 +clumber,n02101556 +Siamese cat,n02123597 +chimpanzee,n02481823 +komondor,n02105505 +Afghan hound,n02088094 +Japanese spaniel,n02085782 +proboscis monkey,n02489166 +guinea pig,n02364673 +white wolf,n02114548 +ice bear,n02134084 +gorilla,n02480855 +borzoi,n02090622 +toy poodle,n02113624 +Kerry blue terrier,n02093859 +ox,n02403003 +Scotch terrier,n02097298 +Tibetan mastiff,n02108551 +spider monkey,n02493793 +Doberman,n02107142 +Boston bull,n02096585 +Greater Swiss Mountain dog,n02107574 +Appenzeller,n02107908 +Shih-Tzu,n02086240 +Irish water spaniel,n02102973 +Pomeranian,n02112018 +Bedlington terrier,n02093647 +warthog,n02397096 +Arabian camel,n02437312 +siamang,n02483708 +miniature schnauzer,n02097047 +collie,n02106030 +golden retriever,n02099601 +Irish terrier,n02093991 +affenpinscher,n02110627 +Border collie,n02106166 +hare,n02326432 +boxer,n02108089 +silky terrier,n02097658 +beagle,n02088364 +Leonberg,n02111129 +German short-haired pointer,n02100236 +patas,n02486261 +dhole,n02115913 +baboon,n02486410 +macaque,n02487347 +Chesapeake Bay retriever,n02099849 +bull mastiff,n02108422 +kuvasz,n02104029 +capuchin,n02492035 +pug,n02110958 +curly-coated retriever,n02099429 +Norwich terrier,n02094258 +flat-coated retriever,n02099267 +hog,n02395406 +keeshond,n02112350 +Eskimo dog,n02109961 +Brittany spaniel,n02101388 +standard poodle,n02113799 +Lakeland terrier,n02095570 +snow leopard,n02128757 +Gordon setter,n02101006 +dingo,n02115641 +standard schnauzer,n02097209 +hamster,n02342885 +Tibetan terrier,n02097474 +Arctic fox,n02120079 +wire-haired fox terrier,n02095314 +basset,n02088238 +water buffalo,n02408429 +American black bear,n02133161 +Angora,n02328150 +bison,n02410509 +howler monkey,n02492660 +hippopotamus,n02398521 +chow,n02112137 +giant panda,n02510455 +American Staffordshire terrier,n02093428 +Shetland sheepdog,n02105855 +Great Pyrenees,n02111500 +Chihuahua,n02085620 +tabby,n02123045 +marmoset,n02490219 +Labrador retriever,n02099712 +Saint Bernard,n02109525 +armadillo,n02454379 +Samoyed,n02111889 +bluetick,n02088632 +redbone,n02090379 +polecat,n02443114 +marmot,n02361337 +kelpie,n02105412 +gibbon,n02483362 +llama,n02437616 +miniature pinscher,n02107312 +wood rabbit,n02325366 +Italian greyhound,n02091032 +lion,n02129165 +cocker spaniel,n02102318 +Irish setter,n02100877 +dugong,n02074367 +Indian elephant,n02504013 +beaver,n02363005 +Sussex spaniel,n02102480 +Pembroke,n02113023 +Blenheim spaniel,n02086646 +Madagascar cat,n02497673 +Rhodesian ridgeback,n02087394 +lynx,n02127052 +African hunting dog,n02116738 +langur,n02488291 +Ibizan hound,n02091244 +timber wolf,n02114367 +cheetah,n02130308 +English foxhound,n02089973 +briard,n02105251 +sloth bear,n02134418 +Border terrier,n02093754 +German shepherd,n02106662 +otter,n02444819 +koala,n01882714 +tusker,n01871265 +echidna,n01872401 +wallaby,n01877812 +platypus,n01873310 +wombat,n01883070 +revolver,n04086273 +umbrella,n04507155 +schooner,n04147183 +soccer ball,n04254680 +accordion,n02672831 +ant,n02219486 +starfish,n02317335 +chambered nautilus,n01968897 +grand piano,n03452741 +laptop,n03642806 +strawberry,n07745940 +airliner,n02690373 +warplane,n04552348 +airship,n02692877 +balloon,n02782093 +space shuttle,n04266014 +fireboat,n03344393 +gondola,n03447447 +speedboat,n04273569 +lifeboat,n03662601 +canoe,n02951358 +yawl,n04612504 +catamaran,n02981792 +trimaran,n04483307 +container ship,n03095699 +liner,n03673027 +pirate,n03947888 +aircraft carrier,n02687172 +submarine,n04347754 +wreck,n04606251 +half track,n03478589 +tank,n04389033 +missile,n03773504 +bobsled,n02860847 +dogsled,n03218198 +bicycle-built-for-two,n02835271 +mountain bike,n03792782 +freight car,n03393912 +passenger car,n03895866 +barrow,n02797295 +shopping cart,n04204347 +motor scooter,n03791053 +forklift,n03384352 +electric locomotive,n03272562 +steam locomotive,n04310018 +amphibian,n02704792 +ambulance,n02701002 +beach wagon,n02814533 +cab,n02930766 +convertible,n03100240 +jeep,n03594945 +limousine,n03670208 +minivan,n03770679 +Model T,n03777568 +racer,n04037443 +sports car,n04285008 +go-kart,n03444034 +golfcart,n03445924 +moped,n03785016 +snowplow,n04252225 +fire engine,n03345487 +garbage truck,n03417042 +pickup,n03930630 +tow truck,n04461696 +trailer truck,n04467665 +moving van,n03796401 +police van,n03977966 +recreational vehicle,n04065272 +streetcar,n04335435 +snowmobile,n04252077 +tractor,n04465501 +mobile home,n03776460 +tricycle,n04482393 +unicycle,n04509417 +horse cart,n03538406 +jinrikisha,n03599486 +oxcart,n03868242 +bassinet,n02804414 +cradle,n03125729 +crib,n03131574 +four-poster,n03388549 +bookcase,n02870880 +china cabinet,n03018349 +medicine chest,n03742115 +chiffonier,n03016953 +table lamp,n04380533 +file,n03337140 +park bench,n03891251 +barber chair,n02791124 +throne,n04429376 +folding chair,n03376595 +rocking chair,n04099969 +studio couch,n04344873 +toilet seat,n04447861 +desk,n03179701 +pool table,n03982430 +dining table,n03201208 +entertainment center,n03290653 +wardrobe,n04550184 +Granny Smith,n07742313 +orange,n07747607 +lemon,n07749582 +fig,n07753113 +pineapple,n07753275 +banana,n07753592 +jackfruit,n07754684 +custard apple,n07760859 +pomegranate,n07768694 +acorn,n12267677 +hip,n12620546 +ear,n13133613 +rapeseed,n11879895 +corn,n12144580 +buckeye,n12768682 +organ,n03854065 +upright,n04515003 +chime,n03017168 +drum,n03249569 +gong,n03447721 +maraca,n03720891 +marimba,n03721384 +steel drum,n04311174 +banjo,n02787622 +cello,n02992211 +violin,n04536866 +harp,n03495258 +acoustic guitar,n02676566 +electric guitar,n03272010 +cornet,n03110669 +French horn,n03394916 +trombone,n04487394 +harmonica,n03494278 +ocarina,n03840681 +panpipe,n03884397 +bassoon,n02804610 +oboe,n03838899 +sax,n04141076 +flute,n03372029 +daisy,n11939491 +yellow lady's slipper,n12057211 +cliff,n09246464 +valley,n09468604 +alp,n09193705 +volcano,n09472597 +promontory,n09399592 +sandbar,n09421951 +coral reef,n09256479 +lakeside,n09332890 +seashore,n09428293 +geyser,n09288635 +hatchet,n03498962 +cleaver,n03041632 +letter opener,n03658185 +plane,n03954731 +power drill,n03995372 +lawn mower,n03649909 +hammer,n03481172 +corkscrew,n03109150 +can opener,n02951585 +plunger,n03970156 +screwdriver,n04154565 +shovel,n04208210 +plow,n03967562 +chain saw,n03000684 +cock,n01514668 +hen,n01514859 +ostrich,n01518878 +brambling,n01530575 +goldfinch,n01531178 +house finch,n01532829 +junco,n01534433 +indigo bunting,n01537544 +robin,n01558993 +bulbul,n01560419 +jay,n01580077 +magpie,n01582220 +chickadee,n01592084 +water ouzel,n01601694 +kite,n01608432 +bald eagle,n01614925 +vulture,n01616318 +great grey owl,n01622779 +black grouse,n01795545 +ptarmigan,n01796340 +ruffed grouse,n01797886 +prairie chicken,n01798484 +peacock,n01806143 +quail,n01806567 +partridge,n01807496 +African grey,n01817953 +macaw,n01818515 +sulphur-crested cockatoo,n01819313 +lorikeet,n01820546 +coucal,n01824575 +bee eater,n01828970 +hornbill,n01829413 +hummingbird,n01833805 +jacamar,n01843065 +toucan,n01843383 +drake,n01847000 +red-breasted merganser,n01855032 +goose,n01855672 +black swan,n01860187 +white stork,n02002556 +black stork,n02002724 +spoonbill,n02006656 +flamingo,n02007558 +American egret,n02009912 +little blue heron,n02009229 +bittern,n02011460 +crane,n02012849 +limpkin,n02013706 +American coot,n02018207 +bustard,n02018795 +ruddy turnstone,n02025239 +red-backed sandpiper,n02027492 +redshank,n02028035 +dowitcher,n02033041 +oystercatcher,n02037110 +European gallinule,n02017213 +pelican,n02051845 +king penguin,n02056570 +albatross,n02058221 +great white shark,n01484850 +tiger shark,n01491361 +hammerhead,n01494475 +electric ray,n01496331 +stingray,n01498041 +barracouta,n02514041 +coho,n02536864 +tench,n01440764 +goldfish,n01443537 +eel,n02526121 +rock beauty,n02606052 +anemone fish,n02607072 +lionfish,n02643566 +puffer,n02655020 +sturgeon,n02640242 +gar,n02641379 +loggerhead,n01664065 +leatherback turtle,n01665541 +mud turtle,n01667114 +terrapin,n01667778 +box turtle,n01669191 +banded gecko,n01675722 +common iguana,n01677366 +American chameleon,n01682714 +whiptail,n01685808 +agama,n01687978 +frilled lizard,n01688243 +alligator lizard,n01689811 +Gila monster,n01692333 +green lizard,n01693334 +African chameleon,n01694178 +Komodo dragon,n01695060 +triceratops,n01704323 +African crocodile,n01697457 +American alligator,n01698640 +thunder snake,n01728572 +ringneck snake,n01728920 +hognose snake,n01729322 +green snake,n01729977 +king snake,n01734418 +garter snake,n01735189 +water snake,n01737021 +vine snake,n01739381 +night snake,n01740131 +boa constrictor,n01742172 +rock python,n01744401 +Indian cobra,n01748264 +green mamba,n01749939 +sea snake,n01751748 +horned viper,n01753488 +diamondback,n01755581 +sidewinder,n01756291 +European fire salamander,n01629819 +common newt,n01630670 +eft,n01631663 +spotted salamander,n01632458 +axolotl,n01632777 +bullfrog,n01641577 +tree frog,n01644373 +tailed frog,n01644900 +whistle,n04579432 +wing,n04592741 +paintbrush,n03876231 +hand blower,n03483316 +oxygen mask,n03868863 +snorkel,n04251144 +loudspeaker,n03691459 +microphone,n03759954 +screen,n04152593 +mouse,n03793489 +electric fan,n03271574 +oil filter,n03843555 +strainer,n04332243 +space heater,n04265275 +stove,n04330267 +guillotine,n03467068 +barometer,n02794156 +rule,n04118776 +odometer,n03841143 +scale,n04141975 +analog clock,n02708093 +digital clock,n03196217 +wall clock,n04548280 +hourglass,n03544143 +sundial,n04355338 +parking meter,n03891332 +stopwatch,n04328186 +digital watch,n03197337 +stethoscope,n04317175 +syringe,n04376876 +magnetic compass,n03706229 +binoculars,n02841315 +projector,n04009552 +sunglasses,n04356056 +loupe,n03692522 +radio telescope,n04044716 +bow,n02879718 +cannon,n02950826 +assault rifle,n02749479 +rifle,n04090263 +projectile,n04008634 +computer keyboard,n03085013 +typewriter keyboard,n04505470 +construction crane,n03126707 +lighter,n03666591 +abacus,n02666196 +cash machine,n02977058 +slide rule,n04238763 +desktop computer,n03180011 +hand-held computer,n03485407 +notebook,n03832673 +web site,n06359193 +harvester,n03496892 +thresher,n04428191 +printer,n04004767 +slot,n04243546 +vending machine,n04525305 +sewing machine,n04179913 +joystick,n03602883 +switch,n04372370 +hook,n03532672 +car wheel,n02974003 +paddlewheel,n03874293 +pinwheel,n03944341 +potter's wheel,n03992509 +gas pump,n03425413 +carousel,n02966193 +swing,n04371774 +reel,n04067472 +radiator,n04040759 +puck,n04019541 +hard disc,n03492542 +sunglass,n04355933 +pick,n03929660 +car mirror,n02965783 +solar dish,n04258138 +remote control,n04074963 +disk brake,n03208938 +buckle,n02910353 +hair slide,n03476684 +knot,n03627232 +combination lock,n03075370 +padlock,n03874599 +nail,n03804744 +safety pin,n04127249 +screw,n04153751 +muzzle,n03803284 +seat belt,n04162706 +ski,n04228054 +candle,n02948072 +jack-o'-lantern,n03590841 +spotlight,n04286575 +torch,n04456115 +neck brace,n03814639 +pier,n03933933 +tripod,n04485082 +maypole,n03733131 +mousetrap,n03794056 +spider web,n04275548 +trilobite,n01768244 +harvestman,n01770081 +scorpion,n01770393 +black and gold garden spider,n01773157 +barn spider,n01773549 +garden spider,n01773797 +black widow,n01774384 +tarantula,n01774750 +wolf spider,n01775062 +tick,n01776313 +centipede,n01784675 +isopod,n01990800 +Dungeness crab,n01978287 +rock crab,n01978455 +fiddler crab,n01980166 +king crab,n01981276 +American lobster,n01983481 +spiny lobster,n01984695 +crayfish,n01985128 +hermit crab,n01986214 +tiger beetle,n02165105 +ladybug,n02165456 +ground beetle,n02167151 +long-horned beetle,n02168699 +leaf beetle,n02169497 +dung beetle,n02172182 +rhinoceros beetle,n02174001 +weevil,n02177972 +fly,n02190166 +bee,n02206856 +grasshopper,n02226429 +cricket,n02229544 +walking stick,n02231487 +cockroach,n02233338 +mantis,n02236044 +cicada,n02256656 +leafhopper,n02259212 +lacewing,n02264363 +dragonfly,n02268443 +damselfly,n02268853 +admiral,n02276258 +ringlet,n02277742 +monarch,n02279972 +cabbage butterfly,n02280649 +sulphur butterfly,n02281406 +lycaenid,n02281787 +jellyfish,n01910747 +sea anemone,n01914609 +brain coral,n01917289 +flatworm,n01924916 +nematode,n01930112 +conch,n01943899 +snail,n01944390 +slug,n01945685 +sea slug,n01950731 +chiton,n01955084 +sea urchin,n02319095 +sea cucumber,n02321529 +iron,n03584829 +espresso maker,n03297495 +microwave,n03761084 +Dutch oven,n03259280 +rotisserie,n04111531 +toaster,n04442312 +waffle iron,n04542943 +vacuum,n04517823 +dishwasher,n03207941 +refrigerator,n04070727 +washer,n04554684 +Crock Pot,n03133878 +frying pan,n03400231 +wok,n04596742 +caldron,n02939185 +coffeepot,n03063689 +teapot,n04398044 +spatula,n04270147 +altar,n02699494 +triumphal arch,n04486054 +patio,n03899768 +steel arch bridge,n04311004 +suspension bridge,n04366367 +viaduct,n04532670 +barn,n02793495 +greenhouse,n03457902 +palace,n03877845 +monastery,n03781244 +library,n03661043 +apiary,n02727426 +boathouse,n02859443 +church,n03028079 +mosque,n03788195 +stupa,n04346328 +planetarium,n03956157 +restaurant,n04081281 +cinema,n03032252 +home theater,n03529860 +lumbermill,n03697007 +coil,n03065424 +obelisk,n03837869 +totem pole,n04458633 +castle,n02980441 +prison,n04005630 +grocery store,n03461385 +bakery,n02776631 +barbershop,n02791270 +bookshop,n02871525 +butcher shop,n02927161 +confectionery,n03089624 +shoe shop,n04200800 +tobacco shop,n04443257 +toyshop,n04462240 +fountain,n03388043 +cliff dwelling,n03042490 +yurt,n04613696 +dock,n03216828 +brass,n02892201 +megalith,n03743016 +bannister,n02788148 +breakwater,n02894605 +dam,n03160309 +chainlink fence,n03000134 +picket fence,n03930313 +worm fence,n04604644 +stone wall,n04326547 +grille,n03459775 +sliding door,n04239074 +turnstile,n04501370 +mountain tent,n03792972 +scoreboard,n04149813 +honeycomb,n03530642 +plate rack,n03961711 +pedestal,n03903868 +beacon,n02814860 +mashed potato,n07711569 +bell pepper,n07720875 +head cabbage,n07714571 +broccoli,n07714990 +cauliflower,n07715103 +zucchini,n07716358 +spaghetti squash,n07716906 +acorn squash,n07717410 +butternut squash,n07717556 +cucumber,n07718472 +artichoke,n07718747 +cardoon,n07730033 +mushroom,n07734744 +shower curtain,n04209239 +jean,n03594734 +carton,n02971356 +handkerchief,n03485794 +sandal,n04133789 +ashcan,n02747177 +safe,n04125021 +plate,n07579787 +necklace,n03814906 +croquet ball,n03134739 +fur coat,n03404251 +thimble,n04423845 +pajama,n03877472 +running shoe,n04120489 +cocktail shaker,n03062245 +chest,n03014705 +manhole cover,n03717622 +modem,n03777754 +tub,n04493381 +tray,n04476259 +balance beam,n02777292 +bagel,n07693725 +prayer rug,n03998194 +kimono,n03617480 +hot pot,n07590611 +whiskey jug,n04579145 +knee pad,n03623198 +book jacket,n07248320 +spindle,n04277352 +ski mask,n04229816 +beer bottle,n02823428 +crash helmet,n03127747 +bottlecap,n02877765 +tile roof,n04435653 +mask,n03724870 +maillot,n03710637 +Petri dish,n03920288 +football helmet,n03379051 +bathing cap,n02807133 +teddy,n04399382 +holster,n03527444 +pop bottle,n03983396 +photocopier,n03924679 +vestment,n04532106 +crossword puzzle,n06785654 +golf ball,n03445777 +trifle,n07613480 +suit,n04350905 +water tower,n04562935 +feather boa,n03325584 +cloak,n03045698 +red wine,n07892512 +drumstick,n03250847 +shield,n04192698 +Christmas stocking,n03026506 +hoopskirt,n03534580 +menu,n07565083 +stage,n04296562 +bonnet,n02869837 +meat loaf,n07871810 +baseball,n02799071 +face powder,n03314780 +scabbard,n04141327 +sunscreen,n04357314 +beer glass,n02823750 +hen-of-the-woods,n13052670 +guacamole,n07583066 +lampshade,n03637318 +wool,n04599235 +hay,n07802026 +bow tie,n02883205 +mailbag,n03709823 +water jug,n04560804 +bucket,n02909870 +dishrag,n03207743 +soup bowl,n04263257 +eggnog,n07932039 +mortar,n03786901 +trench coat,n04479046 +paddle,n03873416 +chain,n02999410 +swab,n04367480 +mixing bowl,n03775546 +potpie,n07875152 +wine bottle,n04591713 +shoji,n04201297 +bulletproof vest,n02916936 +drilling platform,n03240683 +binder,n02840245 +cardigan,n02963159 +sweatshirt,n04370456 +pot,n03991062 +birdhouse,n02843684 +hamper,n03482405 +ping-pong ball,n03942813 +pencil box,n03908618 +pay-phone,n03902125 +consomme,n07584110 +apron,n02730930 +punching bag,n04023962 +backpack,n02769748 +groom,n10148035 +bearskin,n02817516 +pencil sharpener,n03908714 +broom,n02906734 +mosquito net,n03788365 +abaya,n02667093 +mortarboard,n03787032 +poncho,n03980874 +crutch,n03141823 +Polaroid camera,n03976467 +space bar,n04264628 +cup,n07930864 +racket,n04039381 +traffic light,n06874185 +quill,n04033901 +radio,n04041544 +dough,n07860988 +cuirass,n03146219 +military uniform,n03763968 +lipstick,n03676483 +shower cap,n04209133 +monitor,n03782006 +oscilloscope,n03857828 +mitten,n03775071 +brassiere,n02892767 +French loaf,n07684084 +vase,n04522168 +milk can,n03764736 +rugby ball,n04118538 +paper towel,n03887697 +earthstar,n13044778 +envelope,n03291819 +miniskirt,n03770439 +cowboy hat,n03124170 +trolleybus,n04487081 +perfume,n03916031 +bathtub,n02808440 +hotdog,n07697537 +coral fungus,n12985857 +bullet train,n02917067 +pillow,n03938244 +toilet tissue,n15075141 +cassette,n02978881 +carpenter's kit,n02966687 +ladle,n03633091 +stinkhorn,n13040303 +lotion,n03690938 +hair spray,n03476991 +academic gown,n02669723 +dome,n03220513 +crate,n03127925 +wig,n04584207 +burrito,n07880968 +pill bottle,n03937543 +chain mail,n03000247 +theater curtain,n04418357 +window shade,n04590129 +barrel,n02795169 +washbasin,n04553703 +ballpoint,n02783161 +basketball,n02802426 +bath towel,n02808304 +cowboy boot,n03124043 +gown,n03450230 +window screen,n04589890 +agaric,n12998815 +cellular telephone,n02992529 +nipple,n03825788 +barbell,n02790996 +mailbox,n03710193 +lab coat,n03630383 +fire screen,n03347037 +minibus,n03769881 +packet,n03871628 +maze,n03733281 +pole,n03976657 +horizontal bar,n03535780 +sombrero,n04259630 +pickelhaube,n03929855 +rain barrel,n04049303 +wallet,n04548362 +cassette player,n02979186 +comic book,n06596364 +piggy bank,n03935335 +street sign,n06794110 +bell cote,n02825657 +fountain pen,n03388183 +Windsor tie,n04591157 +volleyball,n04540053 +overskirt,n03866082 +sarong,n04136333 +purse,n04026417 +bolo tie,n02865351 +bib,n02834397 +parachute,n03888257 +sleeping bag,n04235860 +television,n04404412 +swimming trunks,n04371430 +measuring cup,n03733805 +espresso,n07920052 +pizza,n07873807 +breastplate,n02895154 +shopping basket,n04204238 +wooden spoon,n04597913 +saltshaker,n04131690 +chocolate sauce,n07836838 +ballplayer,n09835506 +goblet,n03443371 +gyromitra,n13037406 +stretcher,n04336792 +water bottle,n04557648 +dial telephone,n03187595 +soap dispenser,n04254120 +jersey,n03595614 +school bus,n04146614 +jigsaw puzzle,n03598930 +plastic bag,n03958227 +reflex camera,n04069434 +diaper,n03188531 +Band Aid,n02786058 +ice lolly,n07615774 +velvet,n04525038 +tennis ball,n04409515 +gasmask,n03424325 +doormat,n03223299 +Loafer,n03680355 +ice cream,n07614500 +pretzel,n07695742 +quilt,n04033995 +tank suite,n03710721 +tape player,n04392985 +clog,n03047690 +iPod,n03584254 +bolete,n13054560 +scuba diver,n10565667 +pitcher,n03950228 +matchstick,n03729826 +bikini,n02837789 +sock,n04254777 +CD player,n02988304 +lens cap,n03657121 +thatch,n04417672 +vault,n04523525 +beaker,n02815834 +bubble,n09229709 +cheeseburger,n07697313 +parallel bars,n03888605 +flagpole,n03355925 +coffee mug,n03063599 +rubber eraser,n04116512 +stole,n04325704 +carbonara,n07831146 +dumbbell,n03255030 diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index 6e58c60806c..f92ffe78d89 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -1,3 +1,4 @@ +import csv import io import pathlib import re @@ -19,22 +20,37 @@ path_comparator, Enumerator, getitem, + read_mat, + FrozenMapping, ) HERE = pathlib.Path(__file__).parent class ImageNet(Dataset): + _CATEGORY_FILE_DELIMITER = "," + @property def info(self) -> DatasetInfo: + with open(HERE / "imagenet.categories", "r", newline="") as file: + categories, wnids = zip(*csv.reader(file, delimiter=self._CATEGORY_FILE_DELIMITER)) + return DatasetInfo( "imagenet", type=DatasetType.IMAGE, - categories=HERE / "imagenet.categories", + categories=categories, homepage="https://www.image-net.org/", valid_options=dict(split=("train", "val")), + extra=dict( + wnid_to_category=FrozenMapping(zip(wnids, categories)), + category_to_wnid=FrozenMapping(zip(categories, wnids)), + ), ) + @property + def wnid_to_category(self): + return self.info.extra.wnid_to_category + def resources(self, config: DatasetConfig) -> List[OnlineResource]: if config.split == "train": images = HttpResource( @@ -54,12 +70,14 @@ def resources(self, config: DatasetConfig) -> List[OnlineResource]: return [images, devkit] - _TRAIN_IMAGE_NAME_PATTERN = re.compile(r"(?Pn\d{8})_\d+[.]JPEG") + _TRAIN_IMAGE_NAME_PATTERN = re.compile(r"(?Pn\d{8})_\d+[.]JPEG") - def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[None, int], Tuple[str, io.IOBase]]: + def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[int, str], Tuple[str, io.IOBase]]: path = pathlib.Path(data[0]) - category = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("category") # type: ignore[union-attr] - return (None, self.categories.index(category)), data + wnid = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("wnid") # type: ignore[union-attr] + category = self.wnid_to_category[wnid] + label = self.categories.index(category) + return (label, category), data _VAL_IMAGE_NAME_PATTERN = re.compile(r"ILSVRC2012_val_(?P\d{8})[.]JPEG") @@ -67,20 +85,29 @@ def _val_image_key(self, data: Tuple[str, Any]) -> int: path = pathlib.Path(data[0]) return int(self._VAL_IMAGE_NAME_PATTERN.match(path.name).group("id")) # type: ignore[union-attr] + def _collate_val_data( + self, data: Tuple[Tuple[int, int], Tuple[str, io.IOBase]] + ) -> Tuple[Tuple[int, str], Tuple[str, io.IOBase]]: + label_data, image_data = data + _, label = label_data + category = self.categories[label] + return (label, category), image_data + def _collate_and_decode_sample( self, - data: Tuple[Tuple[Optional[int], int], Tuple[str, io.IOBase]], + data: Tuple[Tuple[int, str], Tuple[str, io.IOBase]], *, decoder: Optional[Callable[[io.IOBase], torch.Tensor]], ) -> Dict[str, Any]: - label_data, image_data = data - _, label = label_data + ann_data, image_data = data + label, category = ann_data path, buffer = image_data - - category = self.categories[label] - label = torch.tensor(label) - - return dict(path=path, image=decoder(buffer) if decoder else buffer, category=category, label=label) + return dict( + path=path, + image=decoder(buffer) if decoder else buffer, + category=category, + label=torch.tensor(label), + ) def _make_datapipe( self, @@ -96,14 +123,14 @@ def _make_datapipe( if config.split == "train": # the train archive is a tar of tars dp = TarArchiveReader(images_dp) - dp = Shuffler(dp, buffer_size=INFINITE_BUFFER_SIZE) + # dp = Shuffler(dp, buffer_size=INFINITE_BUFFER_SIZE) dp = Mapper(dp, self._collate_train_data) else: devkit_dp = TarArchiveReader(devkit_dp) devkit_dp = Filter(devkit_dp, path_comparator("name", "ILSVRC2012_validation_ground_truth.txt")) devkit_dp = LineReader(devkit_dp, return_path=False) devkit_dp = Mapper(devkit_dp, int) - devkit_dp = Enumerator(devkit_dp) + devkit_dp = Enumerator(devkit_dp, 1) devkit_dp = Shuffler(devkit_dp, buffer_size=INFINITE_BUFFER_SIZE) dp = KeyZipper( @@ -113,15 +140,33 @@ def _make_datapipe( ref_key_fn=self._val_image_key, buffer_size=INFINITE_BUFFER_SIZE, ) + dp = Mapper(dp, self._collate_val_data) return Mapper(dp, self._collate_and_decode_sample, fn_kwargs=dict(decoder=decoder)) + # Although the WordNet IDs (wnids) are unique, the corresponding categories are not. For example, both n02012849 + # and n03126707 are labeled 'crane' while the first means the bird and the latter means the construction equipment + _WNID_MAP = { + "n03126707": "construction crane", + "n03710721": "tank suite", + } + def generate_categories_file(self, root): - resources = self.resources(DatasetConfig(split="train")) - dp = resources[0].to_datapipe(pathlib.Path(root) / self.name) - dp = TarArchiveReader(dp) - categories = sorted(pathlib.Path(path).stem for path, _ in dp) - create_categories_file(HERE, self.name, categories) + resources = self.resources(self.default_config) + devkit_dp = resources[1].to_datapipe(root / self.name) + devkit_dp = TarArchiveReader(devkit_dp) + devkit_dp = Filter(devkit_dp, path_comparator("name", "meta.mat")) + + meta = next(iter(devkit_dp))[1] + synsets = read_mat(meta, squeeze_me=True)["synsets"] + categories_and_wnids = [ + (self._WNID_MAP.get(wnid, category.split(",", 1)[0]), wnid) + for _, wnid, category, _, num_children, *_ in synsets + # if num_children > 0, we are looking at a superclass that has no direct instance + if num_children == 0 + ] + + create_categories_file(HERE, self.name, categories_and_wnids, delimiter=self._CATEGORY_FILE_DELIMITER) if __name__ == "__main__": diff --git a/torchvision/prototype/datasets/utils/_dataset.py b/torchvision/prototype/datasets/utils/_dataset.py index 61e41a061e4..6d8b9a130f9 100644 --- a/torchvision/prototype/datasets/utils/_dataset.py +++ b/torchvision/prototype/datasets/utils/_dataset.py @@ -1,10 +1,7 @@ import abc import enum import io -import os import pathlib -import textwrap -from collections import Mapping from typing import ( Any, Callable, @@ -13,8 +10,6 @@ Optional, Sequence, Union, - NoReturn, - Iterable, Tuple, ) @@ -25,76 +20,17 @@ sequence_to_str, ) +from ._internal import FrozenBunch, make_repr from ._resource import OnlineResource -def make_repr(name: str, items: Iterable[Tuple[str, Any]]): - def to_str(sep: str) -> str: - return sep.join([f"{key}={value}" for key, value in items]) - - prefix = f"{name}(" - postfix = ")" - body = to_str(", ") - - line_length = int(os.environ.get("COLUMNS", 80)) - body_too_long = (len(prefix) + len(body) + len(postfix)) > line_length - multiline_body = len(str(body).splitlines()) > 1 - if not (body_too_long or multiline_body): - return prefix + body + postfix - - body = textwrap.indent(to_str(",\n"), " " * 2) - return f"{prefix}\n{body}\n{postfix}" - - class DatasetType(enum.Enum): RAW = enum.auto() IMAGE = enum.auto() -class DatasetConfig(Mapping): - def __init__(self, *args, **kwargs): - data = dict(*args, **kwargs) - self.__dict__["__data__"] = data - self.__dict__["__final_hash__"] = hash(tuple(data.items())) - - def __getitem__(self, name: str) -> Any: - return self.__dict__["__data__"][name] - - def __iter__(self): - return iter(self.__dict__["__data__"].keys()) - - def __len__(self): - return len(self.__dict__["__data__"]) - - def __getattr__(self, name: str) -> Any: - try: - return self[name] - except KeyError as error: - raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") from error - - def __setitem__(self, key: Any, value: Any) -> NoReturn: - raise RuntimeError(f"'{type(self).__name__}' object is immutable") - - def __setattr__(self, key: Any, value: Any) -> NoReturn: - raise RuntimeError(f"'{type(self).__name__}' object is immutable") - - def __delitem__(self, key: Any) -> NoReturn: - raise RuntimeError(f"'{type(self).__name__}' object is immutable") - - def __delattr__(self, item: Any) -> NoReturn: - raise RuntimeError(f"'{type(self).__name__}' object is immutable") - - def __hash__(self) -> int: - return self.__dict__["__final_hash__"] - - def __eq__(self, other: Any) -> bool: - if not isinstance(other, DatasetConfig): - return NotImplemented - - return hash(self) == hash(other) - - def __repr__(self) -> str: - return make_repr(type(self).__name__, self.items()) +class DatasetConfig(FrozenBunch): + pass class DatasetInfo: @@ -108,6 +44,7 @@ def __init__( homepage: Optional[str] = None, license: Optional[str] = None, valid_options: Optional[Dict[str, Sequence]] = None, + extra: Optional[Dict[str, Any]] = None, ) -> None: self.name = name.lower() self.type = DatasetType[type.upper()] if isinstance(type, str) else type @@ -137,6 +74,8 @@ def __init__( ) self._valid_options: Dict[str, Sequence] = valid_options + self.extra = FrozenBunch(extra or dict()) + @property def default_config(self) -> DatasetConfig: return DatasetConfig({name: valid_args[0] for name, valid_args in self._valid_options.items()}) diff --git a/torchvision/prototype/datasets/utils/_internal.py b/torchvision/prototype/datasets/utils/_internal.py index 72c55233e7d..19ae7fd7194 100644 --- a/torchvision/prototype/datasets/utils/_internal.py +++ b/torchvision/prototype/datasets/utils/_internal.py @@ -1,12 +1,29 @@ import collections.abc +import csv import difflib import enum import gzip import io import lzma +import os import os.path import pathlib -from typing import Collection, Sequence, Callable, Union, Any, Tuple, TypeVar, Iterator, Dict, Optional +import textwrap +from collections import Mapping +from typing import ( + Collection, + Sequence, + Callable, + Union, + Any, + Tuple, + TypeVar, + Iterator, + Dict, + Optional, + NoReturn, + Iterable, +) import numpy as np import PIL.Image @@ -17,6 +34,9 @@ "INFINITE_BUFFER_SIZE", "sequence_to_str", "add_suggestion", + "make_repr", + "FrozenMapping", + "FrozenBunch", "create_categories_file", "read_mat", "image_buffer_from_array", @@ -60,9 +80,80 @@ def add_suggestion( return f"{msg.strip()} {hint}" -def create_categories_file(root: Union[str, pathlib.Path], name: str, categories: Sequence[str]) -> None: - with open(pathlib.Path(root) / f"{name}.categories", "w") as fh: - fh.write("\n".join(categories) + "\n") +def make_repr(name: str, items: Iterable[Tuple[str, Any]]): + def to_str(sep: str) -> str: + return sep.join([f"{key}={value}" for key, value in items]) + + prefix = f"{name}(" + postfix = ")" + body = to_str(", ") + + line_length = int(os.environ.get("COLUMNS", 80)) + body_too_long = (len(prefix) + len(body) + len(postfix)) > line_length + multiline_body = len(str(body).splitlines()) > 1 + if not (body_too_long or multiline_body): + return prefix + body + postfix + + body = textwrap.indent(to_str(",\n"), " " * 2) + return f"{prefix}\n{body}\n{postfix}" + + +class FrozenMapping(Mapping): + def __init__(self, *args, **kwargs): + data = dict(*args, **kwargs) + self.__dict__["__data__"] = data + self.__dict__["__final_hash__"] = hash(tuple(data.items())) + + def __getitem__(self, name: str) -> Any: + return self.__dict__["__data__"][name] + + def __iter__(self): + return iter(self.__dict__["__data__"].keys()) + + def __len__(self): + return len(self.__dict__["__data__"]) + + def __setitem__(self, key: Any, value: Any) -> NoReturn: + raise RuntimeError(f"'{type(self).__name__}' object is immutable") + + def __delitem__(self, key: Any) -> NoReturn: + raise RuntimeError(f"'{type(self).__name__}' object is immutable") + + def __hash__(self) -> int: + return self.__dict__["__final_hash__"] + + def __eq__(self, other: Any) -> bool: + if not isinstance(other, FrozenMapping): + return NotImplemented + + return hash(self) == hash(other) + + def __repr__(self): + return repr(self.__dict__["__data__"]) + + +class FrozenBunch(FrozenMapping): + def __getattr__(self, name: str) -> Any: + try: + return self[name] + except KeyError as error: + raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") from error + + def __setattr__(self, key: Any, value: Any) -> NoReturn: + raise RuntimeError(f"'{type(self).__name__}' object is immutable") + + def __delattr__(self, item: Any) -> NoReturn: + raise RuntimeError(f"'{type(self).__name__}' object is immutable") + + def __repr__(self) -> str: + return make_repr(type(self).__name__, self.items()) + + +def create_categories_file( + root: Union[str, pathlib.Path], name: str, categories: Sequence[Union[str, Sequence[str]]], **fmtparams: Any +) -> None: + with open(pathlib.Path(root) / f"{name}.categories", "w", newline="") as file: + csv.writer(file, **fmtparams).writerows(categories) def read_mat(buffer: io.IOBase, **kwargs: Any) -> Any: From d5090986b656bba06bc21c974e7c1b0ab9030ec9 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Tue, 19 Oct 2021 08:54:03 +0200 Subject: [PATCH 5/9] cleanup --- .../prototype/datasets/_builtin/imagenet.py | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index f92ffe78d89..279e971b034 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -48,7 +48,11 @@ def info(self) -> DatasetInfo: ) @property - def wnid_to_category(self): + def category_to_wnid(self) -> Dict[str, str]: + return self.info.extra.category_to_wnid + + @property + def wnid_to_category(self) -> Dict[str, str]: return self.info.extra.wnid_to_category def resources(self, config: DatasetConfig) -> List[OnlineResource]: @@ -72,12 +76,12 @@ def resources(self, config: DatasetConfig) -> List[OnlineResource]: _TRAIN_IMAGE_NAME_PATTERN = re.compile(r"(?Pn\d{8})_\d+[.]JPEG") - def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[int, str], Tuple[str, io.IOBase]]: + def _collate_train_data(self, data: Tuple[str, io.IOBase]) -> Tuple[Tuple[int, str, str], Tuple[str, io.IOBase]]: path = pathlib.Path(data[0]) wnid = self._TRAIN_IMAGE_NAME_PATTERN.match(path.name).group("wnid") # type: ignore[union-attr] category = self.wnid_to_category[wnid] label = self.categories.index(category) - return (label, category), data + return (label, category, wnid), data _VAL_IMAGE_NAME_PATTERN = re.compile(r"ILSVRC2012_val_(?P\d{8})[.]JPEG") @@ -87,26 +91,28 @@ def _val_image_key(self, data: Tuple[str, Any]) -> int: def _collate_val_data( self, data: Tuple[Tuple[int, int], Tuple[str, io.IOBase]] - ) -> Tuple[Tuple[int, str], Tuple[str, io.IOBase]]: + ) -> Tuple[Tuple[int, str, str], Tuple[str, io.IOBase]]: label_data, image_data = data _, label = label_data category = self.categories[label] - return (label, category), image_data + wnid = self.category_to_wnid[category] + return (label, category, wnid), image_data def _collate_and_decode_sample( self, - data: Tuple[Tuple[int, str], Tuple[str, io.IOBase]], + data: Tuple[Tuple[int, str, str], Tuple[str, io.IOBase]], *, decoder: Optional[Callable[[io.IOBase], torch.Tensor]], ) -> Dict[str, Any]: ann_data, image_data = data - label, category = ann_data + label, category, wnid = ann_data path, buffer = image_data return dict( path=path, image=decoder(buffer) if decoder else buffer, - category=category, label=torch.tensor(label), + category=category, + wnid=wnid, ) def _make_datapipe( From 0cc08b6b5e5a51e85ed0971f3c14d2f3346fd553 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Tue, 19 Oct 2021 09:44:54 +0200 Subject: [PATCH 6/9] sort categories ascending based on wnid --- .../datasets/_builtin/imagenet.categories | 1858 ++++++++--------- .../prototype/datasets/_builtin/imagenet.py | 1 + 2 files changed, 930 insertions(+), 929 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.categories b/torchvision/prototype/datasets/_builtin/imagenet.categories index 19fd6dea349..76fb2106bfd 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.categories +++ b/torchvision/prototype/datasets/_builtin/imagenet.categories @@ -1,1000 +1,1000 @@ -kit fox,n02119789 -English setter,n02100735 -Siberian husky,n02110185 -Australian terrier,n02096294 -English springer,n02102040 +tench,n01440764 +goldfish,n01443537 +great white shark,n01484850 +tiger shark,n01491361 +hammerhead,n01494475 +electric ray,n01496331 +stingray,n01498041 +cock,n01514668 +hen,n01514859 +ostrich,n01518878 +brambling,n01530575 +goldfinch,n01531178 +house finch,n01532829 +junco,n01534433 +indigo bunting,n01537544 +robin,n01558993 +bulbul,n01560419 +jay,n01580077 +magpie,n01582220 +chickadee,n01592084 +water ouzel,n01601694 +kite,n01608432 +bald eagle,n01614925 +vulture,n01616318 +great grey owl,n01622779 +European fire salamander,n01629819 +common newt,n01630670 +eft,n01631663 +spotted salamander,n01632458 +axolotl,n01632777 +bullfrog,n01641577 +tree frog,n01644373 +tailed frog,n01644900 +loggerhead,n01664065 +leatherback turtle,n01665541 +mud turtle,n01667114 +terrapin,n01667778 +box turtle,n01669191 +banded gecko,n01675722 +common iguana,n01677366 +American chameleon,n01682714 +whiptail,n01685808 +agama,n01687978 +frilled lizard,n01688243 +alligator lizard,n01689811 +Gila monster,n01692333 +green lizard,n01693334 +African chameleon,n01694178 +Komodo dragon,n01695060 +African crocodile,n01697457 +American alligator,n01698640 +triceratops,n01704323 +thunder snake,n01728572 +ringneck snake,n01728920 +hognose snake,n01729322 +green snake,n01729977 +king snake,n01734418 +garter snake,n01735189 +water snake,n01737021 +vine snake,n01739381 +night snake,n01740131 +boa constrictor,n01742172 +rock python,n01744401 +Indian cobra,n01748264 +green mamba,n01749939 +sea snake,n01751748 +horned viper,n01753488 +diamondback,n01755581 +sidewinder,n01756291 +trilobite,n01768244 +harvestman,n01770081 +scorpion,n01770393 +black and gold garden spider,n01773157 +barn spider,n01773549 +garden spider,n01773797 +black widow,n01774384 +tarantula,n01774750 +wolf spider,n01775062 +tick,n01776313 +centipede,n01784675 +black grouse,n01795545 +ptarmigan,n01796340 +ruffed grouse,n01797886 +prairie chicken,n01798484 +peacock,n01806143 +quail,n01806567 +partridge,n01807496 +African grey,n01817953 +macaw,n01818515 +sulphur-crested cockatoo,n01819313 +lorikeet,n01820546 +coucal,n01824575 +bee eater,n01828970 +hornbill,n01829413 +hummingbird,n01833805 +jacamar,n01843065 +toucan,n01843383 +drake,n01847000 +red-breasted merganser,n01855032 +goose,n01855672 +black swan,n01860187 +tusker,n01871265 +echidna,n01872401 +platypus,n01873310 +wallaby,n01877812 +koala,n01882714 +wombat,n01883070 +jellyfish,n01910747 +sea anemone,n01914609 +brain coral,n01917289 +flatworm,n01924916 +nematode,n01930112 +conch,n01943899 +snail,n01944390 +slug,n01945685 +sea slug,n01950731 +chiton,n01955084 +chambered nautilus,n01968897 +Dungeness crab,n01978287 +rock crab,n01978455 +fiddler crab,n01980166 +king crab,n01981276 +American lobster,n01983481 +spiny lobster,n01984695 +crayfish,n01985128 +hermit crab,n01986214 +isopod,n01990800 +white stork,n02002556 +black stork,n02002724 +spoonbill,n02006656 +flamingo,n02007558 +little blue heron,n02009229 +American egret,n02009912 +bittern,n02011460 +crane,n02012849 +limpkin,n02013706 +European gallinule,n02017213 +American coot,n02018207 +bustard,n02018795 +ruddy turnstone,n02025239 +red-backed sandpiper,n02027492 +redshank,n02028035 +dowitcher,n02033041 +oystercatcher,n02037110 +pelican,n02051845 +king penguin,n02056570 +albatross,n02058221 grey whale,n02066245 -lesser panda,n02509815 -Egyptian cat,n02124075 -ibex,n02417914 -Persian cat,n02123394 -cougar,n02125311 -gazelle,n02423022 -porcupine,n02346627 +killer whale,n02071294 +dugong,n02074367 sea lion,n02077923 -malamute,n02110063 -badger,n02447366 -Great Dane,n02109047 +Chihuahua,n02085620 +Japanese spaniel,n02085782 +Maltese dog,n02085936 +Pekinese,n02086079 +Shih-Tzu,n02086240 +Blenheim spaniel,n02086646 +papillon,n02086910 +toy terrier,n02087046 +Rhodesian ridgeback,n02087394 +Afghan hound,n02088094 +basset,n02088238 +beagle,n02088364 +bloodhound,n02088466 +bluetick,n02088632 +black-and-tan coonhound,n02089078 Walker hound,n02089867 -Welsh springer spaniel,n02102177 +English foxhound,n02089973 +redbone,n02090379 +borzoi,n02090622 +Irish wolfhound,n02090721 +Italian greyhound,n02091032 whippet,n02091134 +Ibizan hound,n02091244 +Norwegian elkhound,n02091467 +otterhound,n02091635 +Saluki,n02091831 Scottish deerhound,n02092002 -killer whale,n02071294 -mink,n02442845 -African elephant,n02504458 Weimaraner,n02092339 -soft-coated wheaten terrier,n02098105 -Dandie Dinmont,n02096437 -red wolf,n02114712 -Old English sheepdog,n02105641 -jaguar,n02128925 -otterhound,n02091635 -bloodhound,n02088466 -Airedale,n02096051 -hyena,n02117135 -meerkat,n02138441 -giant schnauzer,n02097130 -titi,n02493509 -three-toed sloth,n02457408 -sorrel,n02389026 -black-footed ferret,n02443484 -dalmatian,n02110341 -black-and-tan coonhound,n02089078 -papillon,n02086910 -skunk,n02445715 Staffordshire bullterrier,n02093256 -Mexican hairless,n02113978 -Bouvier des Flandres,n02106382 -weasel,n02441942 -miniature poodle,n02113712 -Cardigan,n02113186 -malinois,n02105162 -bighorn,n02415577 -fox squirrel,n02356798 -colobus,n02488702 -tiger cat,n02123159 -Lhasa,n02098413 -impala,n02422699 -coyote,n02114855 +American Staffordshire terrier,n02093428 +Bedlington terrier,n02093647 +Border terrier,n02093754 +Kerry blue terrier,n02093859 +Irish terrier,n02093991 +Norfolk terrier,n02094114 +Norwich terrier,n02094258 Yorkshire terrier,n02094433 -Newfoundland,n02111277 -brown bear,n02132136 -red fox,n02119022 -Norwegian elkhound,n02091467 -Rottweiler,n02106550 -hartebeest,n02422106 -Saluki,n02091831 -grey fox,n02120505 -schipperke,n02104365 -Pekinese,n02086079 -Brabancon griffon,n02112706 -West Highland white terrier,n02098286 +wire-haired fox terrier,n02095314 +Lakeland terrier,n02095570 Sealyham terrier,n02095889 -guenon,n02484975 -mongoose,n02137549 -indri,n02500267 -tiger,n02129604 -Irish wolfhound,n02090721 -wild boar,n02396427 -EntleBucher,n02108000 -zebra,n02391049 -ram,n02412080 -French bulldog,n02108915 -orangutan,n02480495 -basenji,n02110806 -leopard,n02128385 -Bernese mountain dog,n02107683 -Maltese dog,n02085936 -Norfolk terrier,n02094114 -toy terrier,n02087046 -vizsla,n02100583 +Airedale,n02096051 cairn,n02096177 -squirrel monkey,n02494079 -groenendael,n02105056 +Australian terrier,n02096294 +Dandie Dinmont,n02096437 +Boston bull,n02096585 +miniature schnauzer,n02097047 +giant schnauzer,n02097130 +standard schnauzer,n02097209 +Scotch terrier,n02097298 +Tibetan terrier,n02097474 +silky terrier,n02097658 +soft-coated wheaten terrier,n02098105 +West Highland white terrier,n02098286 +Lhasa,n02098413 +flat-coated retriever,n02099267 +curly-coated retriever,n02099429 +golden retriever,n02099601 +Labrador retriever,n02099712 +Chesapeake Bay retriever,n02099849 +German short-haired pointer,n02100236 +vizsla,n02100583 +English setter,n02100735 +Irish setter,n02100877 +Gordon setter,n02101006 +Brittany spaniel,n02101388 clumber,n02101556 -Siamese cat,n02123597 -chimpanzee,n02481823 +English springer,n02102040 +Welsh springer spaniel,n02102177 +cocker spaniel,n02102318 +Sussex spaniel,n02102480 +Irish water spaniel,n02102973 +kuvasz,n02104029 +schipperke,n02104365 +groenendael,n02105056 +malinois,n02105162 +briard,n02105251 +kelpie,n02105412 komondor,n02105505 -Afghan hound,n02088094 -Japanese spaniel,n02085782 -proboscis monkey,n02489166 -guinea pig,n02364673 -white wolf,n02114548 -ice bear,n02134084 -gorilla,n02480855 -borzoi,n02090622 -toy poodle,n02113624 -Kerry blue terrier,n02093859 -ox,n02403003 -Scotch terrier,n02097298 -Tibetan mastiff,n02108551 -spider monkey,n02493793 +Old English sheepdog,n02105641 +Shetland sheepdog,n02105855 +collie,n02106030 +Border collie,n02106166 +Bouvier des Flandres,n02106382 +Rottweiler,n02106550 +German shepherd,n02106662 Doberman,n02107142 -Boston bull,n02096585 +miniature pinscher,n02107312 Greater Swiss Mountain dog,n02107574 +Bernese mountain dog,n02107683 Appenzeller,n02107908 -Shih-Tzu,n02086240 -Irish water spaniel,n02102973 -Pomeranian,n02112018 -Bedlington terrier,n02093647 -warthog,n02397096 -Arabian camel,n02437312 -siamang,n02483708 -miniature schnauzer,n02097047 -collie,n02106030 -golden retriever,n02099601 -Irish terrier,n02093991 -affenpinscher,n02110627 -Border collie,n02106166 -hare,n02326432 +EntleBucher,n02108000 boxer,n02108089 -silky terrier,n02097658 -beagle,n02088364 -Leonberg,n02111129 -German short-haired pointer,n02100236 -patas,n02486261 -dhole,n02115913 -baboon,n02486410 -macaque,n02487347 -Chesapeake Bay retriever,n02099849 bull mastiff,n02108422 -kuvasz,n02104029 -capuchin,n02492035 +Tibetan mastiff,n02108551 +French bulldog,n02108915 +Great Dane,n02109047 +Saint Bernard,n02109525 +Eskimo dog,n02109961 +malamute,n02110063 +Siberian husky,n02110185 +dalmatian,n02110341 +affenpinscher,n02110627 +basenji,n02110806 pug,n02110958 -curly-coated retriever,n02099429 -Norwich terrier,n02094258 -flat-coated retriever,n02099267 -hog,n02395406 +Leonberg,n02111129 +Newfoundland,n02111277 +Great Pyrenees,n02111500 +Samoyed,n02111889 +Pomeranian,n02112018 +chow,n02112137 keeshond,n02112350 -Eskimo dog,n02109961 -Brittany spaniel,n02101388 +Brabancon griffon,n02112706 +Pembroke,n02113023 +Cardigan,n02113186 +toy poodle,n02113624 +miniature poodle,n02113712 standard poodle,n02113799 -Lakeland terrier,n02095570 -snow leopard,n02128757 -Gordon setter,n02101006 +Mexican hairless,n02113978 +timber wolf,n02114367 +white wolf,n02114548 +red wolf,n02114712 +coyote,n02114855 dingo,n02115641 -standard schnauzer,n02097209 -hamster,n02342885 -Tibetan terrier,n02097474 +dhole,n02115913 +African hunting dog,n02116738 +hyena,n02117135 +red fox,n02119022 +kit fox,n02119789 Arctic fox,n02120079 -wire-haired fox terrier,n02095314 -basset,n02088238 -water buffalo,n02408429 -American black bear,n02133161 -Angora,n02328150 -bison,n02410509 -howler monkey,n02492660 -hippopotamus,n02398521 -chow,n02112137 -giant panda,n02510455 -American Staffordshire terrier,n02093428 -Shetland sheepdog,n02105855 -Great Pyrenees,n02111500 -Chihuahua,n02085620 +grey fox,n02120505 tabby,n02123045 -marmoset,n02490219 -Labrador retriever,n02099712 -Saint Bernard,n02109525 -armadillo,n02454379 -Samoyed,n02111889 -bluetick,n02088632 -redbone,n02090379 -polecat,n02443114 -marmot,n02361337 -kelpie,n02105412 -gibbon,n02483362 -llama,n02437616 -miniature pinscher,n02107312 -wood rabbit,n02325366 -Italian greyhound,n02091032 -lion,n02129165 -cocker spaniel,n02102318 -Irish setter,n02100877 -dugong,n02074367 -Indian elephant,n02504013 -beaver,n02363005 -Sussex spaniel,n02102480 -Pembroke,n02113023 -Blenheim spaniel,n02086646 -Madagascar cat,n02497673 -Rhodesian ridgeback,n02087394 +tiger cat,n02123159 +Persian cat,n02123394 +Siamese cat,n02123597 +Egyptian cat,n02124075 +cougar,n02125311 lynx,n02127052 -African hunting dog,n02116738 -langur,n02488291 -Ibizan hound,n02091244 -timber wolf,n02114367 +leopard,n02128385 +snow leopard,n02128757 +jaguar,n02128925 +lion,n02129165 +tiger,n02129604 cheetah,n02130308 -English foxhound,n02089973 -briard,n02105251 +brown bear,n02132136 +American black bear,n02133161 +ice bear,n02134084 sloth bear,n02134418 -Border terrier,n02093754 -German shepherd,n02106662 -otter,n02444819 -koala,n01882714 -tusker,n01871265 -echidna,n01872401 -wallaby,n01877812 -platypus,n01873310 -wombat,n01883070 -revolver,n04086273 -umbrella,n04507155 -schooner,n04147183 -soccer ball,n04254680 -accordion,n02672831 +mongoose,n02137549 +meerkat,n02138441 +tiger beetle,n02165105 +ladybug,n02165456 +ground beetle,n02167151 +long-horned beetle,n02168699 +leaf beetle,n02169497 +dung beetle,n02172182 +rhinoceros beetle,n02174001 +weevil,n02177972 +fly,n02190166 +bee,n02206856 ant,n02219486 +grasshopper,n02226429 +cricket,n02229544 +walking stick,n02231487 +cockroach,n02233338 +mantis,n02236044 +cicada,n02256656 +leafhopper,n02259212 +lacewing,n02264363 +dragonfly,n02268443 +damselfly,n02268853 +admiral,n02276258 +ringlet,n02277742 +monarch,n02279972 +cabbage butterfly,n02280649 +sulphur butterfly,n02281406 +lycaenid,n02281787 starfish,n02317335 -chambered nautilus,n01968897 -grand piano,n03452741 -laptop,n03642806 -strawberry,n07745940 -airliner,n02690373 -warplane,n04552348 -airship,n02692877 -balloon,n02782093 -space shuttle,n04266014 -fireboat,n03344393 -gondola,n03447447 -speedboat,n04273569 -lifeboat,n03662601 -canoe,n02951358 -yawl,n04612504 -catamaran,n02981792 -trimaran,n04483307 -container ship,n03095699 -liner,n03673027 -pirate,n03947888 +sea urchin,n02319095 +sea cucumber,n02321529 +wood rabbit,n02325366 +hare,n02326432 +Angora,n02328150 +hamster,n02342885 +porcupine,n02346627 +fox squirrel,n02356798 +marmot,n02361337 +beaver,n02363005 +guinea pig,n02364673 +sorrel,n02389026 +zebra,n02391049 +hog,n02395406 +wild boar,n02396427 +warthog,n02397096 +hippopotamus,n02398521 +ox,n02403003 +water buffalo,n02408429 +bison,n02410509 +ram,n02412080 +bighorn,n02415577 +ibex,n02417914 +hartebeest,n02422106 +impala,n02422699 +gazelle,n02423022 +Arabian camel,n02437312 +llama,n02437616 +weasel,n02441942 +mink,n02442845 +polecat,n02443114 +black-footed ferret,n02443484 +otter,n02444819 +skunk,n02445715 +badger,n02447366 +armadillo,n02454379 +three-toed sloth,n02457408 +orangutan,n02480495 +gorilla,n02480855 +chimpanzee,n02481823 +gibbon,n02483362 +siamang,n02483708 +guenon,n02484975 +patas,n02486261 +baboon,n02486410 +macaque,n02487347 +langur,n02488291 +colobus,n02488702 +proboscis monkey,n02489166 +marmoset,n02490219 +capuchin,n02492035 +howler monkey,n02492660 +titi,n02493509 +spider monkey,n02493793 +squirrel monkey,n02494079 +Madagascar cat,n02497673 +indri,n02500267 +Indian elephant,n02504013 +African elephant,n02504458 +lesser panda,n02509815 +giant panda,n02510455 +barracouta,n02514041 +eel,n02526121 +coho,n02536864 +rock beauty,n02606052 +anemone fish,n02607072 +sturgeon,n02640242 +gar,n02641379 +lionfish,n02643566 +puffer,n02655020 +abacus,n02666196 +abaya,n02667093 +academic gown,n02669723 +accordion,n02672831 +acoustic guitar,n02676566 aircraft carrier,n02687172 -submarine,n04347754 -wreck,n04606251 -half track,n03478589 -tank,n04389033 -missile,n03773504 -bobsled,n02860847 -dogsled,n03218198 -bicycle-built-for-two,n02835271 -mountain bike,n03792782 -freight car,n03393912 -passenger car,n03895866 -barrow,n02797295 -shopping cart,n04204347 -motor scooter,n03791053 -forklift,n03384352 -electric locomotive,n03272562 -steam locomotive,n04310018 -amphibian,n02704792 +airliner,n02690373 +airship,n02692877 +altar,n02699494 ambulance,n02701002 +amphibian,n02704792 +analog clock,n02708093 +apiary,n02727426 +apron,n02730930 +ashcan,n02747177 +assault rifle,n02749479 +backpack,n02769748 +bakery,n02776631 +balance beam,n02777292 +balloon,n02782093 +ballpoint,n02783161 +Band Aid,n02786058 +banjo,n02787622 +bannister,n02788148 +barbell,n02790996 +barber chair,n02791124 +barbershop,n02791270 +barn,n02793495 +barometer,n02794156 +barrel,n02795169 +barrow,n02797295 +baseball,n02799071 +basketball,n02802426 +bassinet,n02804414 +bassoon,n02804610 +bathing cap,n02807133 +bath towel,n02808304 +bathtub,n02808440 beach wagon,n02814533 +beacon,n02814860 +beaker,n02815834 +bearskin,n02817516 +beer bottle,n02823428 +beer glass,n02823750 +bell cote,n02825657 +bib,n02834397 +bicycle-built-for-two,n02835271 +bikini,n02837789 +binder,n02840245 +binoculars,n02841315 +birdhouse,n02843684 +boathouse,n02859443 +bobsled,n02860847 +bolo tie,n02865351 +bonnet,n02869837 +bookcase,n02870880 +bookshop,n02871525 +bottlecap,n02877765 +bow,n02879718 +bow tie,n02883205 +brass,n02892201 +brassiere,n02892767 +breakwater,n02894605 +breastplate,n02895154 +broom,n02906734 +bucket,n02909870 +buckle,n02910353 +bulletproof vest,n02916936 +bullet train,n02917067 +butcher shop,n02927161 cab,n02930766 +caldron,n02939185 +candle,n02948072 +cannon,n02950826 +canoe,n02951358 +can opener,n02951585 +cardigan,n02963159 +car mirror,n02965783 +carousel,n02966193 +carpenter's kit,n02966687 +carton,n02971356 +car wheel,n02974003 +cash machine,n02977058 +cassette,n02978881 +cassette player,n02979186 +castle,n02980441 +catamaran,n02981792 +CD player,n02988304 +cello,n02992211 +cellular telephone,n02992529 +chain,n02999410 +chainlink fence,n03000134 +chain mail,n03000247 +chain saw,n03000684 +chest,n03014705 +chiffonier,n03016953 +chime,n03017168 +china cabinet,n03018349 +Christmas stocking,n03026506 +church,n03028079 +cinema,n03032252 +cleaver,n03041632 +cliff dwelling,n03042490 +cloak,n03045698 +clog,n03047690 +cocktail shaker,n03062245 +coffee mug,n03063599 +coffeepot,n03063689 +coil,n03065424 +combination lock,n03075370 +computer keyboard,n03085013 +confectionery,n03089624 +container ship,n03095699 convertible,n03100240 -jeep,n03594945 -limousine,n03670208 -minivan,n03770679 -Model T,n03777568 -racer,n04037443 -sports car,n04285008 -go-kart,n03444034 -golfcart,n03445924 -moped,n03785016 -snowplow,n04252225 -fire engine,n03345487 -garbage truck,n03417042 -pickup,n03930630 -tow truck,n04461696 -trailer truck,n04467665 -moving van,n03796401 -police van,n03977966 -recreational vehicle,n04065272 -streetcar,n04335435 -snowmobile,n04252077 -tractor,n04465501 -mobile home,n03776460 -tricycle,n04482393 -unicycle,n04509417 -horse cart,n03538406 -jinrikisha,n03599486 -oxcart,n03868242 -bassinet,n02804414 +corkscrew,n03109150 +cornet,n03110669 +cowboy boot,n03124043 +cowboy hat,n03124170 cradle,n03125729 +construction crane,n03126707 +crash helmet,n03127747 +crate,n03127925 crib,n03131574 -four-poster,n03388549 -bookcase,n02870880 -china cabinet,n03018349 -medicine chest,n03742115 -chiffonier,n03016953 -table lamp,n04380533 -file,n03337140 -park bench,n03891251 -barber chair,n02791124 -throne,n04429376 -folding chair,n03376595 -rocking chair,n04099969 -studio couch,n04344873 -toilet seat,n04447861 +Crock Pot,n03133878 +croquet ball,n03134739 +crutch,n03141823 +cuirass,n03146219 +dam,n03160309 desk,n03179701 -pool table,n03982430 +desktop computer,n03180011 +dial telephone,n03187595 +diaper,n03188531 +digital clock,n03196217 +digital watch,n03197337 dining table,n03201208 -entertainment center,n03290653 -wardrobe,n04550184 -Granny Smith,n07742313 -orange,n07747607 -lemon,n07749582 -fig,n07753113 -pineapple,n07753275 -banana,n07753592 -jackfruit,n07754684 -custard apple,n07760859 -pomegranate,n07768694 -acorn,n12267677 -hip,n12620546 -ear,n13133613 -rapeseed,n11879895 -corn,n12144580 -buckeye,n12768682 -organ,n03854065 -upright,n04515003 -chime,n03017168 +dishrag,n03207743 +dishwasher,n03207941 +disk brake,n03208938 +dock,n03216828 +dogsled,n03218198 +dome,n03220513 +doormat,n03223299 +drilling platform,n03240683 drum,n03249569 -gong,n03447721 -maraca,n03720891 -marimba,n03721384 -steel drum,n04311174 -banjo,n02787622 -cello,n02992211 -violin,n04536866 -harp,n03495258 -acoustic guitar,n02676566 +drumstick,n03250847 +dumbbell,n03255030 +Dutch oven,n03259280 +electric fan,n03271574 electric guitar,n03272010 -cornet,n03110669 +electric locomotive,n03272562 +entertainment center,n03290653 +envelope,n03291819 +espresso maker,n03297495 +face powder,n03314780 +feather boa,n03325584 +file,n03337140 +fireboat,n03344393 +fire engine,n03345487 +fire screen,n03347037 +flagpole,n03355925 +flute,n03372029 +folding chair,n03376595 +football helmet,n03379051 +forklift,n03384352 +fountain,n03388043 +fountain pen,n03388183 +four-poster,n03388549 +freight car,n03393912 French horn,n03394916 -trombone,n04487394 +frying pan,n03400231 +fur coat,n03404251 +garbage truck,n03417042 +gasmask,n03424325 +gas pump,n03425413 +goblet,n03443371 +go-kart,n03444034 +golf ball,n03445777 +golfcart,n03445924 +gondola,n03447447 +gong,n03447721 +gown,n03450230 +grand piano,n03452741 +greenhouse,n03457902 +grille,n03459775 +grocery store,n03461385 +guillotine,n03467068 +hair slide,n03476684 +hair spray,n03476991 +half track,n03478589 +hammer,n03481172 +hamper,n03482405 +hand blower,n03483316 +hand-held computer,n03485407 +handkerchief,n03485794 +hard disc,n03492542 harmonica,n03494278 -ocarina,n03840681 -panpipe,n03884397 -bassoon,n02804610 -oboe,n03838899 -sax,n04141076 -flute,n03372029 -daisy,n11939491 -yellow lady's slipper,n12057211 -cliff,n09246464 -valley,n09468604 -alp,n09193705 -volcano,n09472597 -promontory,n09399592 -sandbar,n09421951 -coral reef,n09256479 -lakeside,n09332890 -seashore,n09428293 -geyser,n09288635 +harp,n03495258 +harvester,n03496892 hatchet,n03498962 -cleaver,n03041632 -letter opener,n03658185 -plane,n03954731 -power drill,n03995372 +holster,n03527444 +home theater,n03529860 +honeycomb,n03530642 +hook,n03532672 +hoopskirt,n03534580 +horizontal bar,n03535780 +horse cart,n03538406 +hourglass,n03544143 +iPod,n03584254 +iron,n03584829 +jack-o'-lantern,n03590841 +jean,n03594734 +jeep,n03594945 +jersey,n03595614 +jigsaw puzzle,n03598930 +jinrikisha,n03599486 +joystick,n03602883 +kimono,n03617480 +knee pad,n03623198 +knot,n03627232 +lab coat,n03630383 +ladle,n03633091 +lampshade,n03637318 +laptop,n03642806 lawn mower,n03649909 -hammer,n03481172 -corkscrew,n03109150 -can opener,n02951585 -plunger,n03970156 -screwdriver,n04154565 -shovel,n04208210 -plow,n03967562 -chain saw,n03000684 -cock,n01514668 -hen,n01514859 -ostrich,n01518878 -brambling,n01530575 -goldfinch,n01531178 -house finch,n01532829 -junco,n01534433 -indigo bunting,n01537544 -robin,n01558993 -bulbul,n01560419 -jay,n01580077 -magpie,n01582220 -chickadee,n01592084 -water ouzel,n01601694 -kite,n01608432 -bald eagle,n01614925 -vulture,n01616318 -great grey owl,n01622779 -black grouse,n01795545 -ptarmigan,n01796340 -ruffed grouse,n01797886 -prairie chicken,n01798484 -peacock,n01806143 -quail,n01806567 -partridge,n01807496 -African grey,n01817953 -macaw,n01818515 -sulphur-crested cockatoo,n01819313 -lorikeet,n01820546 -coucal,n01824575 -bee eater,n01828970 -hornbill,n01829413 -hummingbird,n01833805 -jacamar,n01843065 -toucan,n01843383 -drake,n01847000 -red-breasted merganser,n01855032 -goose,n01855672 -black swan,n01860187 -white stork,n02002556 -black stork,n02002724 -spoonbill,n02006656 -flamingo,n02007558 -American egret,n02009912 -little blue heron,n02009229 -bittern,n02011460 -crane,n02012849 -limpkin,n02013706 -American coot,n02018207 -bustard,n02018795 -ruddy turnstone,n02025239 -red-backed sandpiper,n02027492 -redshank,n02028035 -dowitcher,n02033041 -oystercatcher,n02037110 -European gallinule,n02017213 -pelican,n02051845 -king penguin,n02056570 -albatross,n02058221 -great white shark,n01484850 -tiger shark,n01491361 -hammerhead,n01494475 -electric ray,n01496331 -stingray,n01498041 -barracouta,n02514041 -coho,n02536864 -tench,n01440764 -goldfish,n01443537 -eel,n02526121 -rock beauty,n02606052 -anemone fish,n02607072 -lionfish,n02643566 -puffer,n02655020 -sturgeon,n02640242 -gar,n02641379 -loggerhead,n01664065 -leatherback turtle,n01665541 -mud turtle,n01667114 -terrapin,n01667778 -box turtle,n01669191 -banded gecko,n01675722 -common iguana,n01677366 -American chameleon,n01682714 -whiptail,n01685808 -agama,n01687978 -frilled lizard,n01688243 -alligator lizard,n01689811 -Gila monster,n01692333 -green lizard,n01693334 -African chameleon,n01694178 -Komodo dragon,n01695060 -triceratops,n01704323 -African crocodile,n01697457 -American alligator,n01698640 -thunder snake,n01728572 -ringneck snake,n01728920 -hognose snake,n01729322 -green snake,n01729977 -king snake,n01734418 -garter snake,n01735189 -water snake,n01737021 -vine snake,n01739381 -night snake,n01740131 -boa constrictor,n01742172 -rock python,n01744401 -Indian cobra,n01748264 -green mamba,n01749939 -sea snake,n01751748 -horned viper,n01753488 -diamondback,n01755581 -sidewinder,n01756291 -European fire salamander,n01629819 -common newt,n01630670 -eft,n01631663 -spotted salamander,n01632458 -axolotl,n01632777 -bullfrog,n01641577 -tree frog,n01644373 -tailed frog,n01644900 -whistle,n04579432 -wing,n04592741 -paintbrush,n03876231 -hand blower,n03483316 -oxygen mask,n03868863 -snorkel,n04251144 +lens cap,n03657121 +letter opener,n03658185 +library,n03661043 +lifeboat,n03662601 +lighter,n03666591 +limousine,n03670208 +liner,n03673027 +lipstick,n03676483 +Loafer,n03680355 +lotion,n03690938 loudspeaker,n03691459 +loupe,n03692522 +lumbermill,n03697007 +magnetic compass,n03706229 +mailbag,n03709823 +mailbox,n03710193 +maillot,n03710637 +tank suite,n03710721 +manhole cover,n03717622 +maraca,n03720891 +marimba,n03721384 +mask,n03724870 +matchstick,n03729826 +maypole,n03733131 +maze,n03733281 +measuring cup,n03733805 +medicine chest,n03742115 +megalith,n03743016 microphone,n03759954 -screen,n04152593 +microwave,n03761084 +military uniform,n03763968 +milk can,n03764736 +minibus,n03769881 +miniskirt,n03770439 +minivan,n03770679 +missile,n03773504 +mitten,n03775071 +mixing bowl,n03775546 +mobile home,n03776460 +Model T,n03777568 +modem,n03777754 +monastery,n03781244 +monitor,n03782006 +moped,n03785016 +mortar,n03786901 +mortarboard,n03787032 +mosque,n03788195 +mosquito net,n03788365 +motor scooter,n03791053 +mountain bike,n03792782 +mountain tent,n03792972 mouse,n03793489 -electric fan,n03271574 -oil filter,n03843555 -strainer,n04332243 -space heater,n04265275 -stove,n04330267 -guillotine,n03467068 -barometer,n02794156 -rule,n04118776 -odometer,n03841143 -scale,n04141975 -analog clock,n02708093 -digital clock,n03196217 -wall clock,n04548280 -hourglass,n03544143 -sundial,n04355338 -parking meter,n03891332 -stopwatch,n04328186 -digital watch,n03197337 -stethoscope,n04317175 -syringe,n04376876 -magnetic compass,n03706229 -binoculars,n02841315 -projector,n04009552 -sunglasses,n04356056 -loupe,n03692522 -radio telescope,n04044716 -bow,n02879718 -cannon,n02950826 -assault rifle,n02749479 -rifle,n04090263 -projectile,n04008634 -computer keyboard,n03085013 -typewriter keyboard,n04505470 -construction crane,n03126707 -lighter,n03666591 -abacus,n02666196 -cash machine,n02977058 -slide rule,n04238763 -desktop computer,n03180011 -hand-held computer,n03485407 +mousetrap,n03794056 +moving van,n03796401 +muzzle,n03803284 +nail,n03804744 +neck brace,n03814639 +necklace,n03814906 +nipple,n03825788 notebook,n03832673 -web site,n06359193 -harvester,n03496892 -thresher,n04428191 -printer,n04004767 -slot,n04243546 -vending machine,n04525305 -sewing machine,n04179913 -joystick,n03602883 -switch,n04372370 -hook,n03532672 -car wheel,n02974003 +obelisk,n03837869 +oboe,n03838899 +ocarina,n03840681 +odometer,n03841143 +oil filter,n03843555 +organ,n03854065 +oscilloscope,n03857828 +overskirt,n03866082 +oxcart,n03868242 +oxygen mask,n03868863 +packet,n03871628 +paddle,n03873416 paddlewheel,n03874293 +padlock,n03874599 +paintbrush,n03876231 +pajama,n03877472 +palace,n03877845 +panpipe,n03884397 +paper towel,n03887697 +parachute,n03888257 +parallel bars,n03888605 +park bench,n03891251 +parking meter,n03891332 +passenger car,n03895866 +patio,n03899768 +pay-phone,n03902125 +pedestal,n03903868 +pencil box,n03908618 +pencil sharpener,n03908714 +perfume,n03916031 +Petri dish,n03920288 +photocopier,n03924679 +pick,n03929660 +pickelhaube,n03929855 +picket fence,n03930313 +pickup,n03930630 +pier,n03933933 +piggy bank,n03935335 +pill bottle,n03937543 +pillow,n03938244 +ping-pong ball,n03942813 pinwheel,n03944341 +pirate,n03947888 +pitcher,n03950228 +plane,n03954731 +planetarium,n03956157 +plastic bag,n03958227 +plate rack,n03961711 +plow,n03967562 +plunger,n03970156 +Polaroid camera,n03976467 +pole,n03976657 +police van,n03977966 +poncho,n03980874 +pool table,n03982430 +pop bottle,n03983396 +pot,n03991062 potter's wheel,n03992509 -gas pump,n03425413 -carousel,n02966193 -swing,n04371774 -reel,n04067472 -radiator,n04040759 +power drill,n03995372 +prayer rug,n03998194 +printer,n04004767 +prison,n04005630 +projectile,n04008634 +projector,n04009552 puck,n04019541 -hard disc,n03492542 -sunglass,n04355933 -pick,n03929660 -car mirror,n02965783 -solar dish,n04258138 +punching bag,n04023962 +purse,n04026417 +quill,n04033901 +quilt,n04033995 +racer,n04037443 +racket,n04039381 +radiator,n04040759 +radio,n04041544 +radio telescope,n04044716 +rain barrel,n04049303 +recreational vehicle,n04065272 +reel,n04067472 +reflex camera,n04069434 +refrigerator,n04070727 remote control,n04074963 -disk brake,n03208938 -buckle,n02910353 -hair slide,n03476684 -knot,n03627232 -combination lock,n03075370 -padlock,n03874599 -nail,n03804744 -safety pin,n04127249 -screw,n04153751 -muzzle,n03803284 -seat belt,n04162706 -ski,n04228054 -candle,n02948072 -jack-o'-lantern,n03590841 -spotlight,n04286575 -torch,n04456115 -neck brace,n03814639 -pier,n03933933 -tripod,n04485082 -maypole,n03733131 -mousetrap,n03794056 -spider web,n04275548 -trilobite,n01768244 -harvestman,n01770081 -scorpion,n01770393 -black and gold garden spider,n01773157 -barn spider,n01773549 -garden spider,n01773797 -black widow,n01774384 -tarantula,n01774750 -wolf spider,n01775062 -tick,n01776313 -centipede,n01784675 -isopod,n01990800 -Dungeness crab,n01978287 -rock crab,n01978455 -fiddler crab,n01980166 -king crab,n01981276 -American lobster,n01983481 -spiny lobster,n01984695 -crayfish,n01985128 -hermit crab,n01986214 -tiger beetle,n02165105 -ladybug,n02165456 -ground beetle,n02167151 -long-horned beetle,n02168699 -leaf beetle,n02169497 -dung beetle,n02172182 -rhinoceros beetle,n02174001 -weevil,n02177972 -fly,n02190166 -bee,n02206856 -grasshopper,n02226429 -cricket,n02229544 -walking stick,n02231487 -cockroach,n02233338 -mantis,n02236044 -cicada,n02256656 -leafhopper,n02259212 -lacewing,n02264363 -dragonfly,n02268443 -damselfly,n02268853 -admiral,n02276258 -ringlet,n02277742 -monarch,n02279972 -cabbage butterfly,n02280649 -sulphur butterfly,n02281406 -lycaenid,n02281787 -jellyfish,n01910747 -sea anemone,n01914609 -brain coral,n01917289 -flatworm,n01924916 -nematode,n01930112 -conch,n01943899 -snail,n01944390 -slug,n01945685 -sea slug,n01950731 -chiton,n01955084 -sea urchin,n02319095 -sea cucumber,n02321529 -iron,n03584829 -espresso maker,n03297495 -microwave,n03761084 -Dutch oven,n03259280 +restaurant,n04081281 +revolver,n04086273 +rifle,n04090263 +rocking chair,n04099969 rotisserie,n04111531 -toaster,n04442312 -waffle iron,n04542943 -vacuum,n04517823 -dishwasher,n03207941 -refrigerator,n04070727 -washer,n04554684 -Crock Pot,n03133878 -frying pan,n03400231 -wok,n04596742 -caldron,n02939185 -coffeepot,n03063689 -teapot,n04398044 +rubber eraser,n04116512 +rugby ball,n04118538 +rule,n04118776 +running shoe,n04120489 +safe,n04125021 +safety pin,n04127249 +saltshaker,n04131690 +sandal,n04133789 +sarong,n04136333 +sax,n04141076 +scabbard,n04141327 +scale,n04141975 +school bus,n04146614 +schooner,n04147183 +scoreboard,n04149813 +screen,n04152593 +screw,n04153751 +screwdriver,n04154565 +seat belt,n04162706 +sewing machine,n04179913 +shield,n04192698 +shoe shop,n04200800 +shoji,n04201297 +shopping basket,n04204238 +shopping cart,n04204347 +shovel,n04208210 +shower cap,n04209133 +shower curtain,n04209239 +ski,n04228054 +ski mask,n04229816 +sleeping bag,n04235860 +slide rule,n04238763 +sliding door,n04239074 +slot,n04243546 +snorkel,n04251144 +snowmobile,n04252077 +snowplow,n04252225 +soap dispenser,n04254120 +soccer ball,n04254680 +sock,n04254777 +solar dish,n04258138 +sombrero,n04259630 +soup bowl,n04263257 +space bar,n04264628 +space heater,n04265275 +space shuttle,n04266014 spatula,n04270147 -altar,n02699494 -triumphal arch,n04486054 -patio,n03899768 +speedboat,n04273569 +spider web,n04275548 +spindle,n04277352 +sports car,n04285008 +spotlight,n04286575 +stage,n04296562 +steam locomotive,n04310018 steel arch bridge,n04311004 -suspension bridge,n04366367 -viaduct,n04532670 -barn,n02793495 -greenhouse,n03457902 -palace,n03877845 -monastery,n03781244 -library,n03661043 -apiary,n02727426 -boathouse,n02859443 -church,n03028079 -mosque,n03788195 +steel drum,n04311174 +stethoscope,n04317175 +stole,n04325704 +stone wall,n04326547 +stopwatch,n04328186 +stove,n04330267 +strainer,n04332243 +streetcar,n04335435 +stretcher,n04336792 +studio couch,n04344873 stupa,n04346328 -planetarium,n03956157 -restaurant,n04081281 -cinema,n03032252 -home theater,n03529860 -lumbermill,n03697007 -coil,n03065424 -obelisk,n03837869 -totem pole,n04458633 -castle,n02980441 -prison,n04005630 -grocery store,n03461385 -bakery,n02776631 -barbershop,n02791270 -bookshop,n02871525 -butcher shop,n02927161 -confectionery,n03089624 -shoe shop,n04200800 +submarine,n04347754 +suit,n04350905 +sundial,n04355338 +sunglass,n04355933 +sunglasses,n04356056 +sunscreen,n04357314 +suspension bridge,n04366367 +swab,n04367480 +sweatshirt,n04370456 +swimming trunks,n04371430 +swing,n04371774 +switch,n04372370 +syringe,n04376876 +table lamp,n04380533 +tank,n04389033 +tape player,n04392985 +teapot,n04398044 +teddy,n04399382 +television,n04404412 +tennis ball,n04409515 +thatch,n04417672 +theater curtain,n04418357 +thimble,n04423845 +thresher,n04428191 +throne,n04429376 +tile roof,n04435653 +toaster,n04442312 tobacco shop,n04443257 +toilet seat,n04447861 +torch,n04456115 +totem pole,n04458633 +tow truck,n04461696 toyshop,n04462240 -fountain,n03388043 -cliff dwelling,n03042490 -yurt,n04613696 -dock,n03216828 -brass,n02892201 -megalith,n03743016 -bannister,n02788148 -breakwater,n02894605 -dam,n03160309 -chainlink fence,n03000134 -picket fence,n03930313 -worm fence,n04604644 -stone wall,n04326547 -grille,n03459775 -sliding door,n04239074 -turnstile,n04501370 -mountain tent,n03792972 -scoreboard,n04149813 -honeycomb,n03530642 -plate rack,n03961711 -pedestal,n03903868 -beacon,n02814860 -mashed potato,n07711569 -bell pepper,n07720875 -head cabbage,n07714571 -broccoli,n07714990 -cauliflower,n07715103 -zucchini,n07716358 -spaghetti squash,n07716906 -acorn squash,n07717410 -butternut squash,n07717556 -cucumber,n07718472 -artichoke,n07718747 -cardoon,n07730033 -mushroom,n07734744 -shower curtain,n04209239 -jean,n03594734 -carton,n02971356 -handkerchief,n03485794 -sandal,n04133789 -ashcan,n02747177 -safe,n04125021 -plate,n07579787 -necklace,n03814906 -croquet ball,n03134739 -fur coat,n03404251 -thimble,n04423845 -pajama,n03877472 -running shoe,n04120489 -cocktail shaker,n03062245 -chest,n03014705 -manhole cover,n03717622 -modem,n03777754 -tub,n04493381 +tractor,n04465501 +trailer truck,n04467665 tray,n04476259 -balance beam,n02777292 -bagel,n07693725 -prayer rug,n03998194 -kimono,n03617480 -hot pot,n07590611 -whiskey jug,n04579145 -knee pad,n03623198 -book jacket,n07248320 -spindle,n04277352 -ski mask,n04229816 -beer bottle,n02823428 -crash helmet,n03127747 -bottlecap,n02877765 -tile roof,n04435653 -mask,n03724870 -maillot,n03710637 -Petri dish,n03920288 -football helmet,n03379051 -bathing cap,n02807133 -teddy,n04399382 -holster,n03527444 -pop bottle,n03983396 -photocopier,n03924679 +trench coat,n04479046 +tricycle,n04482393 +trimaran,n04483307 +tripod,n04485082 +triumphal arch,n04486054 +trolleybus,n04487081 +trombone,n04487394 +tub,n04493381 +turnstile,n04501370 +typewriter keyboard,n04505470 +umbrella,n04507155 +unicycle,n04509417 +upright,n04515003 +vacuum,n04517823 +vase,n04522168 +vault,n04523525 +velvet,n04525038 +vending machine,n04525305 vestment,n04532106 -crossword puzzle,n06785654 -golf ball,n03445777 -trifle,n07613480 -suit,n04350905 +viaduct,n04532670 +violin,n04536866 +volleyball,n04540053 +waffle iron,n04542943 +wall clock,n04548280 +wallet,n04548362 +wardrobe,n04550184 +warplane,n04552348 +washbasin,n04553703 +washer,n04554684 +water bottle,n04557648 +water jug,n04560804 water tower,n04562935 -feather boa,n03325584 -cloak,n03045698 -red wine,n07892512 -drumstick,n03250847 -shield,n04192698 -Christmas stocking,n03026506 -hoopskirt,n03534580 +whiskey jug,n04579145 +whistle,n04579432 +wig,n04584207 +window screen,n04589890 +window shade,n04590129 +Windsor tie,n04591157 +wine bottle,n04591713 +wing,n04592741 +wok,n04596742 +wooden spoon,n04597913 +wool,n04599235 +worm fence,n04604644 +wreck,n04606251 +yawl,n04612504 +yurt,n04613696 +web site,n06359193 +comic book,n06596364 +crossword puzzle,n06785654 +street sign,n06794110 +traffic light,n06874185 +book jacket,n07248320 menu,n07565083 -stage,n04296562 -bonnet,n02869837 -meat loaf,n07871810 -baseball,n02799071 -face powder,n03314780 -scabbard,n04141327 -sunscreen,n04357314 -beer glass,n02823750 -hen-of-the-woods,n13052670 +plate,n07579787 guacamole,n07583066 -lampshade,n03637318 -wool,n04599235 -hay,n07802026 -bow tie,n02883205 -mailbag,n03709823 -water jug,n04560804 -bucket,n02909870 -dishrag,n03207743 -soup bowl,n04263257 -eggnog,n07932039 -mortar,n03786901 -trench coat,n04479046 -paddle,n03873416 -chain,n02999410 -swab,n04367480 -mixing bowl,n03775546 -potpie,n07875152 -wine bottle,n04591713 -shoji,n04201297 -bulletproof vest,n02916936 -drilling platform,n03240683 -binder,n02840245 -cardigan,n02963159 -sweatshirt,n04370456 -pot,n03991062 -birdhouse,n02843684 -hamper,n03482405 -ping-pong ball,n03942813 -pencil box,n03908618 -pay-phone,n03902125 consomme,n07584110 -apron,n02730930 -punching bag,n04023962 -backpack,n02769748 -groom,n10148035 -bearskin,n02817516 -pencil sharpener,n03908714 -broom,n02906734 -mosquito net,n03788365 -abaya,n02667093 -mortarboard,n03787032 -poncho,n03980874 -crutch,n03141823 -Polaroid camera,n03976467 -space bar,n04264628 -cup,n07930864 -racket,n04039381 -traffic light,n06874185 -quill,n04033901 -radio,n04041544 -dough,n07860988 -cuirass,n03146219 -military uniform,n03763968 -lipstick,n03676483 -shower cap,n04209133 -monitor,n03782006 -oscilloscope,n03857828 -mitten,n03775071 -brassiere,n02892767 +hot pot,n07590611 +trifle,n07613480 +ice cream,n07614500 +ice lolly,n07615774 French loaf,n07684084 -vase,n04522168 -milk can,n03764736 -rugby ball,n04118538 -paper towel,n03887697 -earthstar,n13044778 -envelope,n03291819 -miniskirt,n03770439 -cowboy hat,n03124170 -trolleybus,n04487081 -perfume,n03916031 -bathtub,n02808440 +bagel,n07693725 +pretzel,n07695742 +cheeseburger,n07697313 hotdog,n07697537 -coral fungus,n12985857 -bullet train,n02917067 -pillow,n03938244 -toilet tissue,n15075141 -cassette,n02978881 -carpenter's kit,n02966687 -ladle,n03633091 -stinkhorn,n13040303 -lotion,n03690938 -hair spray,n03476991 -academic gown,n02669723 -dome,n03220513 -crate,n03127925 -wig,n04584207 +mashed potato,n07711569 +head cabbage,n07714571 +broccoli,n07714990 +cauliflower,n07715103 +zucchini,n07716358 +spaghetti squash,n07716906 +acorn squash,n07717410 +butternut squash,n07717556 +cucumber,n07718472 +artichoke,n07718747 +bell pepper,n07720875 +cardoon,n07730033 +mushroom,n07734744 +Granny Smith,n07742313 +strawberry,n07745940 +orange,n07747607 +lemon,n07749582 +fig,n07753113 +pineapple,n07753275 +banana,n07753592 +jackfruit,n07754684 +custard apple,n07760859 +pomegranate,n07768694 +hay,n07802026 +carbonara,n07831146 +chocolate sauce,n07836838 +dough,n07860988 +meat loaf,n07871810 +pizza,n07873807 +potpie,n07875152 burrito,n07880968 -pill bottle,n03937543 -chain mail,n03000247 -theater curtain,n04418357 -window shade,n04590129 -barrel,n02795169 -washbasin,n04553703 -ballpoint,n02783161 -basketball,n02802426 -bath towel,n02808304 -cowboy boot,n03124043 -gown,n03450230 -window screen,n04589890 -agaric,n12998815 -cellular telephone,n02992529 -nipple,n03825788 -barbell,n02790996 -mailbox,n03710193 -lab coat,n03630383 -fire screen,n03347037 -minibus,n03769881 -packet,n03871628 -maze,n03733281 -pole,n03976657 -horizontal bar,n03535780 -sombrero,n04259630 -pickelhaube,n03929855 -rain barrel,n04049303 -wallet,n04548362 -cassette player,n02979186 -comic book,n06596364 -piggy bank,n03935335 -street sign,n06794110 -bell cote,n02825657 -fountain pen,n03388183 -Windsor tie,n04591157 -volleyball,n04540053 -overskirt,n03866082 -sarong,n04136333 -purse,n04026417 -bolo tie,n02865351 -bib,n02834397 -parachute,n03888257 -sleeping bag,n04235860 -television,n04404412 -swimming trunks,n04371430 -measuring cup,n03733805 +red wine,n07892512 espresso,n07920052 -pizza,n07873807 -breastplate,n02895154 -shopping basket,n04204238 -wooden spoon,n04597913 -saltshaker,n04131690 -chocolate sauce,n07836838 +cup,n07930864 +eggnog,n07932039 +alp,n09193705 +bubble,n09229709 +cliff,n09246464 +coral reef,n09256479 +geyser,n09288635 +lakeside,n09332890 +promontory,n09399592 +sandbar,n09421951 +seashore,n09428293 +valley,n09468604 +volcano,n09472597 ballplayer,n09835506 -goblet,n03443371 +groom,n10148035 +scuba diver,n10565667 +rapeseed,n11879895 +daisy,n11939491 +yellow lady's slipper,n12057211 +corn,n12144580 +acorn,n12267677 +hip,n12620546 +buckeye,n12768682 +coral fungus,n12985857 +agaric,n12998815 gyromitra,n13037406 -stretcher,n04336792 -water bottle,n04557648 -dial telephone,n03187595 -soap dispenser,n04254120 -jersey,n03595614 -school bus,n04146614 -jigsaw puzzle,n03598930 -plastic bag,n03958227 -reflex camera,n04069434 -diaper,n03188531 -Band Aid,n02786058 -ice lolly,n07615774 -velvet,n04525038 -tennis ball,n04409515 -gasmask,n03424325 -doormat,n03223299 -Loafer,n03680355 -ice cream,n07614500 -pretzel,n07695742 -quilt,n04033995 -tank suite,n03710721 -tape player,n04392985 -clog,n03047690 -iPod,n03584254 +stinkhorn,n13040303 +earthstar,n13044778 +hen-of-the-woods,n13052670 bolete,n13054560 -scuba diver,n10565667 -pitcher,n03950228 -matchstick,n03729826 -bikini,n02837789 -sock,n04254777 -CD player,n02988304 -lens cap,n03657121 -thatch,n04417672 -vault,n04523525 -beaker,n02815834 -bubble,n09229709 -cheeseburger,n07697313 -parallel bars,n03888605 -flagpole,n03355925 -coffee mug,n03063599 -rubber eraser,n04116512 -stole,n04325704 -carbonara,n07831146 -dumbbell,n03255030 +ear,n13133613 +toilet tissue,n15075141 diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index 279e971b034..b8cf0cfd3bb 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -171,6 +171,7 @@ def generate_categories_file(self, root): # if num_children > 0, we are looking at a superclass that has no direct instance if num_children == 0 ] + categories_and_wnids.sort(key=lambda category_and_wnid: category_and_wnid[1]) create_categories_file(HERE, self.name, categories_and_wnids, delimiter=self._CATEGORY_FILE_DELIMITER) From 2dabcc2dea2e2168a5f0474a463788c1faf28ee5 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Tue, 19 Oct 2021 10:42:34 +0200 Subject: [PATCH 7/9] remove accidentally added file --- imagenet.categories | 1000 ------------------------------------------- 1 file changed, 1000 deletions(-) delete mode 100644 imagenet.categories diff --git a/imagenet.categories b/imagenet.categories deleted file mode 100644 index aaf1ccee6b7..00000000000 --- a/imagenet.categories +++ /dev/null @@ -1,1000 +0,0 @@ -kit fox,n02119789 -English setter,n02100735 -Siberian husky,n02110185 -Australian terrier,n02096294 -English springer,n02102040 -grey whale,n02066245 -lesser panda,n02509815 -Egyptian cat,n02124075 -ibex,n02417914 -Persian cat,n02123394 -cougar,n02125311 -gazelle,n02423022 -porcupine,n02346627 -sea lion,n02077923 -malamute,n02110063 -badger,n02447366 -Great Dane,n02109047 -Walker hound,n02089867 -Welsh springer spaniel,n02102177 -whippet,n02091134 -Scottish deerhound,n02092002 -killer whale,n02071294 -mink,n02442845 -African elephant,n02504458 -Weimaraner,n02092339 -soft-coated wheaten terrier,n02098105 -Dandie Dinmont,n02096437 -red wolf,n02114712 -Old English sheepdog,n02105641 -jaguar,n02128925 -otterhound,n02091635 -bloodhound,n02088466 -Airedale,n02096051 -hyena,n02117135 -meerkat,n02138441 -giant schnauzer,n02097130 -titi,n02493509 -three-toed sloth,n02457408 -sorrel,n02389026 -black-footed ferret,n02443484 -dalmatian,n02110341 -black-and-tan coonhound,n02089078 -papillon,n02086910 -skunk,n02445715 -Staffordshire bullterrier,n02093256 -Mexican hairless,n02113978 -Bouvier des Flandres,n02106382 -weasel,n02441942 -miniature poodle,n02113712 -Cardigan,n02113186 -malinois,n02105162 -bighorn,n02415577 -fox squirrel,n02356798 -colobus,n02488702 -tiger cat,n02123159 -Lhasa,n02098413 -impala,n02422699 -coyote,n02114855 -Yorkshire terrier,n02094433 -Newfoundland,n02111277 -brown bear,n02132136 -red fox,n02119022 -Norwegian elkhound,n02091467 -Rottweiler,n02106550 -hartebeest,n02422106 -Saluki,n02091831 -grey fox,n02120505 -schipperke,n02104365 -Pekinese,n02086079 -Brabancon griffon,n02112706 -West Highland white terrier,n02098286 -Sealyham terrier,n02095889 -guenon,n02484975 -mongoose,n02137549 -indri,n02500267 -tiger,n02129604 -Irish wolfhound,n02090721 -wild boar,n02396427 -EntleBucher,n02108000 -zebra,n02391049 -ram,n02412080 -French bulldog,n02108915 -orangutan,n02480495 -basenji,n02110806 -leopard,n02128385 -Bernese mountain dog,n02107683 -Maltese dog,n02085936 -Norfolk terrier,n02094114 -toy terrier,n02087046 -vizsla,n02100583 -cairn,n02096177 -squirrel monkey,n02494079 -groenendael,n02105056 -clumber,n02101556 -Siamese cat,n02123597 -chimpanzee,n02481823 -komondor,n02105505 -Afghan hound,n02088094 -Japanese spaniel,n02085782 -proboscis monkey,n02489166 -guinea pig,n02364673 -white wolf,n02114548 -ice bear,n02134084 -gorilla,n02480855 -borzoi,n02090622 -toy poodle,n02113624 -Kerry blue terrier,n02093859 -ox,n02403003 -Scotch terrier,n02097298 -Tibetan mastiff,n02108551 -spider monkey,n02493793 -Doberman,n02107142 -Boston bull,n02096585 -Greater Swiss Mountain dog,n02107574 -Appenzeller,n02107908 -Shih-Tzu,n02086240 -Irish water spaniel,n02102973 -Pomeranian,n02112018 -Bedlington terrier,n02093647 -warthog,n02397096 -Arabian camel,n02437312 -siamang,n02483708 -miniature schnauzer,n02097047 -collie,n02106030 -golden retriever,n02099601 -Irish terrier,n02093991 -affenpinscher,n02110627 -Border collie,n02106166 -hare,n02326432 -boxer,n02108089 -silky terrier,n02097658 -beagle,n02088364 -Leonberg,n02111129 -German short-haired pointer,n02100236 -patas,n02486261 -dhole,n02115913 -baboon,n02486410 -macaque,n02487347 -Chesapeake Bay retriever,n02099849 -bull mastiff,n02108422 -kuvasz,n02104029 -capuchin,n02492035 -pug,n02110958 -curly-coated retriever,n02099429 -Norwich terrier,n02094258 -flat-coated retriever,n02099267 -hog,n02395406 -keeshond,n02112350 -Eskimo dog,n02109961 -Brittany spaniel,n02101388 -standard poodle,n02113799 -Lakeland terrier,n02095570 -snow leopard,n02128757 -Gordon setter,n02101006 -dingo,n02115641 -standard schnauzer,n02097209 -hamster,n02342885 -Tibetan terrier,n02097474 -Arctic fox,n02120079 -wire-haired fox terrier,n02095314 -basset,n02088238 -water buffalo,n02408429 -American black bear,n02133161 -Angora,n02328150 -bison,n02410509 -howler monkey,n02492660 -hippopotamus,n02398521 -chow,n02112137 -giant panda,n02510455 -American Staffordshire terrier,n02093428 -Shetland sheepdog,n02105855 -Great Pyrenees,n02111500 -Chihuahua,n02085620 -tabby,n02123045 -marmoset,n02490219 -Labrador retriever,n02099712 -Saint Bernard,n02109525 -armadillo,n02454379 -Samoyed,n02111889 -bluetick,n02088632 -redbone,n02090379 -polecat,n02443114 -marmot,n02361337 -kelpie,n02105412 -gibbon,n02483362 -llama,n02437616 -miniature pinscher,n02107312 -wood rabbit,n02325366 -Italian greyhound,n02091032 -lion,n02129165 -cocker spaniel,n02102318 -Irish setter,n02100877 -dugong,n02074367 -Indian elephant,n02504013 -beaver,n02363005 -Sussex spaniel,n02102480 -Pembroke,n02113023 -Blenheim spaniel,n02086646 -Madagascar cat,n02497673 -Rhodesian ridgeback,n02087394 -lynx,n02127052 -African hunting dog,n02116738 -langur,n02488291 -Ibizan hound,n02091244 -timber wolf,n02114367 -cheetah,n02130308 -English foxhound,n02089973 -briard,n02105251 -sloth bear,n02134418 -Border terrier,n02093754 -German shepherd,n02106662 -otter,n02444819 -koala,n01882714 -tusker,n01871265 -echidna,n01872401 -wallaby,n01877812 -platypus,n01873310 -wombat,n01883070 -revolver,n04086273 -umbrella,n04507155 -schooner,n04147183 -soccer ball,n04254680 -accordion,n02672831 -ant,n02219486 -starfish,n02317335 -chambered nautilus,n01968897 -grand piano,n03452741 -laptop,n03642806 -strawberry,n07745940 -airliner,n02690373 -warplane,n04552348 -airship,n02692877 -balloon,n02782093 -space shuttle,n04266014 -fireboat,n03344393 -gondola,n03447447 -speedboat,n04273569 -lifeboat,n03662601 -canoe,n02951358 -yawl,n04612504 -catamaran,n02981792 -trimaran,n04483307 -container ship,n03095699 -liner,n03673027 -pirate,n03947888 -aircraft carrier,n02687172 -submarine,n04347754 -wreck,n04606251 -half track,n03478589 -tank,n04389033 -missile,n03773504 -bobsled,n02860847 -dogsled,n03218198 -bicycle-built-for-two,n02835271 -mountain bike,n03792782 -freight car,n03393912 -passenger car,n03895866 -barrow,n02797295 -shopping cart,n04204347 -motor scooter,n03791053 -forklift,n03384352 -electric locomotive,n03272562 -steam locomotive,n04310018 -amphibian,n02704792 -ambulance,n02701002 -beach wagon,n02814533 -cab,n02930766 -convertible,n03100240 -jeep,n03594945 -limousine,n03670208 -minivan,n03770679 -Model T,n03777568 -racer,n04037443 -sports car,n04285008 -go-kart,n03444034 -golfcart,n03445924 -moped,n03785016 -snowplow,n04252225 -fire engine,n03345487 -garbage truck,n03417042 -pickup,n03930630 -tow truck,n04461696 -trailer truck,n04467665 -moving van,n03796401 -police van,n03977966 -recreational vehicle,n04065272 -streetcar,n04335435 -snowmobile,n04252077 -tractor,n04465501 -mobile home,n03776460 -tricycle,n04482393 -unicycle,n04509417 -horse cart,n03538406 -jinrikisha,n03599486 -oxcart,n03868242 -bassinet,n02804414 -cradle,n03125729 -crib,n03131574 -four-poster,n03388549 -bookcase,n02870880 -china cabinet,n03018349 -medicine chest,n03742115 -chiffonier,n03016953 -table lamp,n04380533 -file,n03337140 -park bench,n03891251 -barber chair,n02791124 -throne,n04429376 -folding chair,n03376595 -rocking chair,n04099969 -studio couch,n04344873 -toilet seat,n04447861 -desk,n03179701 -pool table,n03982430 -dining table,n03201208 -entertainment center,n03290653 -wardrobe,n04550184 -Granny Smith,n07742313 -orange,n07747607 -lemon,n07749582 -fig,n07753113 -pineapple,n07753275 -banana,n07753592 -jackfruit,n07754684 -custard apple,n07760859 -pomegranate,n07768694 -acorn,n12267677 -hip,n12620546 -ear,n13133613 -rapeseed,n11879895 -corn,n12144580 -buckeye,n12768682 -organ,n03854065 -upright,n04515003 -chime,n03017168 -drum,n03249569 -gong,n03447721 -maraca,n03720891 -marimba,n03721384 -steel drum,n04311174 -banjo,n02787622 -cello,n02992211 -violin,n04536866 -harp,n03495258 -acoustic guitar,n02676566 -electric guitar,n03272010 -cornet,n03110669 -French horn,n03394916 -trombone,n04487394 -harmonica,n03494278 -ocarina,n03840681 -panpipe,n03884397 -bassoon,n02804610 -oboe,n03838899 -sax,n04141076 -flute,n03372029 -daisy,n11939491 -yellow lady's slipper,n12057211 -cliff,n09246464 -valley,n09468604 -alp,n09193705 -volcano,n09472597 -promontory,n09399592 -sandbar,n09421951 -coral reef,n09256479 -lakeside,n09332890 -seashore,n09428293 -geyser,n09288635 -hatchet,n03498962 -cleaver,n03041632 -letter opener,n03658185 -plane,n03954731 -power drill,n03995372 -lawn mower,n03649909 -hammer,n03481172 -corkscrew,n03109150 -can opener,n02951585 -plunger,n03970156 -screwdriver,n04154565 -shovel,n04208210 -plow,n03967562 -chain saw,n03000684 -cock,n01514668 -hen,n01514859 -ostrich,n01518878 -brambling,n01530575 -goldfinch,n01531178 -house finch,n01532829 -junco,n01534433 -indigo bunting,n01537544 -robin,n01558993 -bulbul,n01560419 -jay,n01580077 -magpie,n01582220 -chickadee,n01592084 -water ouzel,n01601694 -kite,n01608432 -bald eagle,n01614925 -vulture,n01616318 -great grey owl,n01622779 -black grouse,n01795545 -ptarmigan,n01796340 -ruffed grouse,n01797886 -prairie chicken,n01798484 -peacock,n01806143 -quail,n01806567 -partridge,n01807496 -African grey,n01817953 -macaw,n01818515 -sulphur-crested cockatoo,n01819313 -lorikeet,n01820546 -coucal,n01824575 -bee eater,n01828970 -hornbill,n01829413 -hummingbird,n01833805 -jacamar,n01843065 -toucan,n01843383 -drake,n01847000 -red-breasted merganser,n01855032 -goose,n01855672 -black swan,n01860187 -white stork,n02002556 -black stork,n02002724 -spoonbill,n02006656 -flamingo,n02007558 -American egret,n02009912 -little blue heron,n02009229 -bittern,n02011460 -construction crane,n02012849 -limpkin,n02013706 -American coot,n02018207 -bustard,n02018795 -ruddy turnstone,n02025239 -red-backed sandpiper,n02027492 -redshank,n02028035 -dowitcher,n02033041 -oystercatcher,n02037110 -European gallinule,n02017213 -pelican,n02051845 -king penguin,n02056570 -albatross,n02058221 -great white shark,n01484850 -tiger shark,n01491361 -hammerhead,n01494475 -electric ray,n01496331 -stingray,n01498041 -barracouta,n02514041 -coho,n02536864 -tench,n01440764 -goldfish,n01443537 -eel,n02526121 -rock beauty,n02606052 -anemone fish,n02607072 -lionfish,n02643566 -puffer,n02655020 -sturgeon,n02640242 -gar,n02641379 -loggerhead,n01664065 -leatherback turtle,n01665541 -mud turtle,n01667114 -terrapin,n01667778 -box turtle,n01669191 -banded gecko,n01675722 -common iguana,n01677366 -American chameleon,n01682714 -whiptail,n01685808 -agama,n01687978 -frilled lizard,n01688243 -alligator lizard,n01689811 -Gila monster,n01692333 -green lizard,n01693334 -African chameleon,n01694178 -Komodo dragon,n01695060 -triceratops,n01704323 -African crocodile,n01697457 -American alligator,n01698640 -thunder snake,n01728572 -ringneck snake,n01728920 -hognose snake,n01729322 -green snake,n01729977 -king snake,n01734418 -garter snake,n01735189 -water snake,n01737021 -vine snake,n01739381 -night snake,n01740131 -boa constrictor,n01742172 -rock python,n01744401 -Indian cobra,n01748264 -green mamba,n01749939 -sea snake,n01751748 -horned viper,n01753488 -diamondback,n01755581 -sidewinder,n01756291 -European fire salamander,n01629819 -common newt,n01630670 -eft,n01631663 -spotted salamander,n01632458 -axolotl,n01632777 -bullfrog,n01641577 -tree frog,n01644373 -tailed frog,n01644900 -whistle,n04579432 -wing,n04592741 -paintbrush,n03876231 -hand blower,n03483316 -oxygen mask,n03868863 -snorkel,n04251144 -loudspeaker,n03691459 -microphone,n03759954 -screen,n04152593 -mouse,n03793489 -electric fan,n03271574 -oil filter,n03843555 -strainer,n04332243 -space heater,n04265275 -stove,n04330267 -guillotine,n03467068 -barometer,n02794156 -rule,n04118776 -odometer,n03841143 -scale,n04141975 -analog clock,n02708093 -digital clock,n03196217 -wall clock,n04548280 -hourglass,n03544143 -sundial,n04355338 -parking meter,n03891332 -stopwatch,n04328186 -digital watch,n03197337 -stethoscope,n04317175 -syringe,n04376876 -magnetic compass,n03706229 -binoculars,n02841315 -projector,n04009552 -sunglasses,n04356056 -loupe,n03692522 -radio telescope,n04044716 -bow,n02879718 -cannon,n02950826 -assault rifle,n02749479 -rifle,n04090263 -projectile,n04008634 -computer keyboard,n03085013 -typewriter keyboard,n04505470 -crane,n03126707 -lighter,n03666591 -abacus,n02666196 -cash machine,n02977058 -slide rule,n04238763 -desktop computer,n03180011 -hand-held computer,n03485407 -notebook,n03832673 -web site,n06359193 -harvester,n03496892 -thresher,n04428191 -printer,n04004767 -slot,n04243546 -vending machine,n04525305 -sewing machine,n04179913 -joystick,n03602883 -switch,n04372370 -hook,n03532672 -car wheel,n02974003 -paddlewheel,n03874293 -pinwheel,n03944341 -potter's wheel,n03992509 -gas pump,n03425413 -carousel,n02966193 -swing,n04371774 -reel,n04067472 -radiator,n04040759 -puck,n04019541 -hard disc,n03492542 -sunglass,n04355933 -pick,n03929660 -car mirror,n02965783 -solar dish,n04258138 -remote control,n04074963 -disk brake,n03208938 -buckle,n02910353 -hair slide,n03476684 -knot,n03627232 -combination lock,n03075370 -padlock,n03874599 -nail,n03804744 -safety pin,n04127249 -screw,n04153751 -muzzle,n03803284 -seat belt,n04162706 -ski,n04228054 -candle,n02948072 -jack-o'-lantern,n03590841 -spotlight,n04286575 -torch,n04456115 -neck brace,n03814639 -pier,n03933933 -tripod,n04485082 -maypole,n03733131 -mousetrap,n03794056 -spider web,n04275548 -trilobite,n01768244 -harvestman,n01770081 -scorpion,n01770393 -black and gold garden spider,n01773157 -barn spider,n01773549 -garden spider,n01773797 -black widow,n01774384 -tarantula,n01774750 -wolf spider,n01775062 -tick,n01776313 -centipede,n01784675 -isopod,n01990800 -Dungeness crab,n01978287 -rock crab,n01978455 -fiddler crab,n01980166 -king crab,n01981276 -American lobster,n01983481 -spiny lobster,n01984695 -crayfish,n01985128 -hermit crab,n01986214 -tiger beetle,n02165105 -ladybug,n02165456 -ground beetle,n02167151 -long-horned beetle,n02168699 -leaf beetle,n02169497 -dung beetle,n02172182 -rhinoceros beetle,n02174001 -weevil,n02177972 -fly,n02190166 -bee,n02206856 -grasshopper,n02226429 -cricket,n02229544 -walking stick,n02231487 -cockroach,n02233338 -mantis,n02236044 -cicada,n02256656 -leafhopper,n02259212 -lacewing,n02264363 -dragonfly,n02268443 -damselfly,n02268853 -admiral,n02276258 -ringlet,n02277742 -monarch,n02279972 -cabbage butterfly,n02280649 -sulphur butterfly,n02281406 -lycaenid,n02281787 -jellyfish,n01910747 -sea anemone,n01914609 -brain coral,n01917289 -flatworm,n01924916 -nematode,n01930112 -conch,n01943899 -snail,n01944390 -slug,n01945685 -sea slug,n01950731 -chiton,n01955084 -sea urchin,n02319095 -sea cucumber,n02321529 -iron,n03584829 -espresso maker,n03297495 -microwave,n03761084 -Dutch oven,n03259280 -rotisserie,n04111531 -toaster,n04442312 -waffle iron,n04542943 -vacuum,n04517823 -dishwasher,n03207941 -refrigerator,n04070727 -washer,n04554684 -Crock Pot,n03133878 -frying pan,n03400231 -wok,n04596742 -caldron,n02939185 -coffeepot,n03063689 -teapot,n04398044 -spatula,n04270147 -altar,n02699494 -triumphal arch,n04486054 -patio,n03899768 -steel arch bridge,n04311004 -suspension bridge,n04366367 -viaduct,n04532670 -barn,n02793495 -greenhouse,n03457902 -palace,n03877845 -monastery,n03781244 -library,n03661043 -apiary,n02727426 -boathouse,n02859443 -church,n03028079 -mosque,n03788195 -stupa,n04346328 -planetarium,n03956157 -restaurant,n04081281 -cinema,n03032252 -home theater,n03529860 -lumbermill,n03697007 -coil,n03065424 -obelisk,n03837869 -totem pole,n04458633 -castle,n02980441 -prison,n04005630 -grocery store,n03461385 -bakery,n02776631 -barbershop,n02791270 -bookshop,n02871525 -butcher shop,n02927161 -confectionery,n03089624 -shoe shop,n04200800 -tobacco shop,n04443257 -toyshop,n04462240 -fountain,n03388043 -cliff dwelling,n03042490 -yurt,n04613696 -dock,n03216828 -brass,n02892201 -megalith,n03743016 -bannister,n02788148 -breakwater,n02894605 -dam,n03160309 -chainlink fence,n03000134 -picket fence,n03930313 -worm fence,n04604644 -stone wall,n04326547 -grille,n03459775 -sliding door,n04239074 -turnstile,n04501370 -mountain tent,n03792972 -scoreboard,n04149813 -honeycomb,n03530642 -plate rack,n03961711 -pedestal,n03903868 -beacon,n02814860 -mashed potato,n07711569 -bell pepper,n07720875 -head cabbage,n07714571 -broccoli,n07714990 -cauliflower,n07715103 -zucchini,n07716358 -spaghetti squash,n07716906 -acorn squash,n07717410 -butternut squash,n07717556 -cucumber,n07718472 -artichoke,n07718747 -cardoon,n07730033 -mushroom,n07734744 -shower curtain,n04209239 -jean,n03594734 -carton,n02971356 -handkerchief,n03485794 -sandal,n04133789 -ashcan,n02747177 -safe,n04125021 -plate,n07579787 -necklace,n03814906 -croquet ball,n03134739 -fur coat,n03404251 -thimble,n04423845 -pajama,n03877472 -running shoe,n04120489 -cocktail shaker,n03062245 -chest,n03014705 -manhole cover,n03717622 -modem,n03777754 -tub,n04493381 -tray,n04476259 -balance beam,n02777292 -bagel,n07693725 -prayer rug,n03998194 -kimono,n03617480 -hot pot,n07590611 -whiskey jug,n04579145 -knee pad,n03623198 -book jacket,n07248320 -spindle,n04277352 -ski mask,n04229816 -beer bottle,n02823428 -crash helmet,n03127747 -bottlecap,n02877765 -tile roof,n04435653 -mask,n03724870 -maillot,n03710637 -Petri dish,n03920288 -football helmet,n03379051 -bathing cap,n02807133 -teddy,n04399382 -holster,n03527444 -pop bottle,n03983396 -photocopier,n03924679 -vestment,n04532106 -crossword puzzle,n06785654 -golf ball,n03445777 -trifle,n07613480 -suit,n04350905 -water tower,n04562935 -feather boa,n03325584 -cloak,n03045698 -red wine,n07892512 -drumstick,n03250847 -shield,n04192698 -Christmas stocking,n03026506 -hoopskirt,n03534580 -menu,n07565083 -stage,n04296562 -bonnet,n02869837 -meat loaf,n07871810 -baseball,n02799071 -face powder,n03314780 -scabbard,n04141327 -sunscreen,n04357314 -beer glass,n02823750 -hen-of-the-woods,n13052670 -guacamole,n07583066 -lampshade,n03637318 -wool,n04599235 -hay,n07802026 -bow tie,n02883205 -mailbag,n03709823 -water jug,n04560804 -bucket,n02909870 -dishrag,n03207743 -soup bowl,n04263257 -eggnog,n07932039 -mortar,n03786901 -trench coat,n04479046 -paddle,n03873416 -chain,n02999410 -swab,n04367480 -mixing bowl,n03775546 -potpie,n07875152 -wine bottle,n04591713 -shoji,n04201297 -bulletproof vest,n02916936 -drilling platform,n03240683 -binder,n02840245 -cardigan,n02963159 -sweatshirt,n04370456 -pot,n03991062 -birdhouse,n02843684 -hamper,n03482405 -ping-pong ball,n03942813 -pencil box,n03908618 -pay-phone,n03902125 -consomme,n07584110 -apron,n02730930 -punching bag,n04023962 -backpack,n02769748 -groom,n10148035 -bearskin,n02817516 -pencil sharpener,n03908714 -broom,n02906734 -mosquito net,n03788365 -abaya,n02667093 -mortarboard,n03787032 -poncho,n03980874 -crutch,n03141823 -Polaroid camera,n03976467 -space bar,n04264628 -cup,n07930864 -racket,n04039381 -traffic light,n06874185 -quill,n04033901 -radio,n04041544 -dough,n07860988 -cuirass,n03146219 -military uniform,n03763968 -lipstick,n03676483 -shower cap,n04209133 -monitor,n03782006 -oscilloscope,n03857828 -mitten,n03775071 -brassiere,n02892767 -French loaf,n07684084 -vase,n04522168 -milk can,n03764736 -rugby ball,n04118538 -paper towel,n03887697 -earthstar,n13044778 -envelope,n03291819 -miniskirt,n03770439 -cowboy hat,n03124170 -trolleybus,n04487081 -perfume,n03916031 -bathtub,n02808440 -hotdog,n07697537 -coral fungus,n12985857 -bullet train,n02917067 -pillow,n03938244 -toilet tissue,n15075141 -cassette,n02978881 -carpenter's kit,n02966687 -ladle,n03633091 -stinkhorn,n13040303 -lotion,n03690938 -hair spray,n03476991 -academic gown,n02669723 -dome,n03220513 -crate,n03127925 -wig,n04584207 -burrito,n07880968 -pill bottle,n03937543 -chain mail,n03000247 -theater curtain,n04418357 -window shade,n04590129 -barrel,n02795169 -washbasin,n04553703 -ballpoint,n02783161 -basketball,n02802426 -bath towel,n02808304 -cowboy boot,n03124043 -gown,n03450230 -window screen,n04589890 -agaric,n12998815 -cellular telephone,n02992529 -nipple,n03825788 -barbell,n02790996 -mailbox,n03710193 -lab coat,n03630383 -fire screen,n03347037 -minibus,n03769881 -packet,n03871628 -maze,n03733281 -pole,n03976657 -horizontal bar,n03535780 -sombrero,n04259630 -pickelhaube,n03929855 -rain barrel,n04049303 -wallet,n04548362 -cassette player,n02979186 -comic book,n06596364 -piggy bank,n03935335 -street sign,n06794110 -bell cote,n02825657 -fountain pen,n03388183 -Windsor tie,n04591157 -volleyball,n04540053 -overskirt,n03866082 -sarong,n04136333 -purse,n04026417 -bolo tie,n02865351 -bib,n02834397 -parachute,n03888257 -sleeping bag,n04235860 -television,n04404412 -swimming trunks,n04371430 -measuring cup,n03733805 -espresso,n07920052 -pizza,n07873807 -breastplate,n02895154 -shopping basket,n04204238 -wooden spoon,n04597913 -saltshaker,n04131690 -chocolate sauce,n07836838 -ballplayer,n09835506 -goblet,n03443371 -gyromitra,n13037406 -stretcher,n04336792 -water bottle,n04557648 -dial telephone,n03187595 -soap dispenser,n04254120 -jersey,n03595614 -school bus,n04146614 -jigsaw puzzle,n03598930 -plastic bag,n03958227 -reflex camera,n04069434 -diaper,n03188531 -Band Aid,n02786058 -ice lolly,n07615774 -velvet,n04525038 -tennis ball,n04409515 -gasmask,n03424325 -doormat,n03223299 -Loafer,n03680355 -ice cream,n07614500 -pretzel,n07695742 -quilt,n04033995 -maillot tank suite,n03710721 -tape player,n04392985 -clog,n03047690 -iPod,n03584254 -bolete,n13054560 -scuba diver,n10565667 -pitcher,n03950228 -matchstick,n03729826 -bikini,n02837789 -sock,n04254777 -CD player,n02988304 -lens cap,n03657121 -thatch,n04417672 -vault,n04523525 -beaker,n02815834 -bubble,n09229709 -cheeseburger,n07697313 -parallel bars,n03888605 -flagpole,n03355925 -coffee mug,n03063599 -rubber eraser,n04116512 -stole,n04325704 -carbonara,n07831146 -dumbbell,n03255030 From c6d2b7863921ffaa9a8417619989e0ae32815f18 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 20 Oct 2021 10:57:11 +0200 Subject: [PATCH 8/9] cleanup category file generation --- .../datasets/_builtin/imagenet.categories | 2 +- .../prototype/datasets/_builtin/imagenet.py | 26 +++++-------------- .../datasets/generate_category_files.py | 22 +++++----------- .../prototype/datasets/utils/_dataset.py | 17 +++++------- 4 files changed, 21 insertions(+), 46 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.categories b/torchvision/prototype/datasets/_builtin/imagenet.categories index 76fb2106bfd..18e24b85311 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.categories +++ b/torchvision/prototype/datasets/_builtin/imagenet.categories @@ -637,7 +637,7 @@ magnetic compass,n03706229 mailbag,n03709823 mailbox,n03710193 maillot,n03710637 -tank suite,n03710721 +tank suit,n03710721 manhole cover,n03717622 maraca,n03720891 marimba,n03721384 diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index b8cf0cfd3bb..ea6cda637f9 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -1,4 +1,3 @@ -import csv import io import pathlib import re @@ -15,8 +14,8 @@ DatasetType, ) from torchvision.prototype.datasets.utils._internal import ( - create_categories_file, INFINITE_BUFFER_SIZE, + BUILTIN_DIR, path_comparator, Enumerator, getitem, @@ -24,19 +23,15 @@ FrozenMapping, ) -HERE = pathlib.Path(__file__).parent - class ImageNet(Dataset): - _CATEGORY_FILE_DELIMITER = "," - @property def info(self) -> DatasetInfo: - with open(HERE / "imagenet.categories", "r", newline="") as file: - categories, wnids = zip(*csv.reader(file, delimiter=self._CATEGORY_FILE_DELIMITER)) + name = "imagenet" + categories, wnids = zip(*DatasetInfo.read_categories_file(BUILTIN_DIR / f"{name}.categories")) return DatasetInfo( - "imagenet", + name, type=DatasetType.IMAGE, categories=categories, homepage="https://www.image-net.org/", @@ -154,10 +149,10 @@ def _make_datapipe( # and n03126707 are labeled 'crane' while the first means the bird and the latter means the construction equipment _WNID_MAP = { "n03126707": "construction crane", - "n03710721": "tank suite", + "n03710721": "tank suit", } - def generate_categories_file(self, root): + def _generate_categories(self, root: pathlib.Path) -> List[Tuple[str, ...]]: resources = self.resources(self.default_config) devkit_dp = resources[1].to_datapipe(root / self.name) devkit_dp = TarArchiveReader(devkit_dp) @@ -173,11 +168,4 @@ def generate_categories_file(self, root): ] categories_and_wnids.sort(key=lambda category_and_wnid: category_and_wnid[1]) - create_categories_file(HERE, self.name, categories_and_wnids, delimiter=self._CATEGORY_FILE_DELIMITER) - - -if __name__ == "__main__": - from torchvision.prototype.datasets import home - - root = home() - ImageNet().generate_categories_file(root) + return categories_and_wnids diff --git a/torchvision/prototype/datasets/generate_category_files.py b/torchvision/prototype/datasets/generate_category_files.py index a5623cd6db2..cb7f734a43d 100644 --- a/torchvision/prototype/datasets/generate_category_files.py +++ b/torchvision/prototype/datasets/generate_category_files.py @@ -1,13 +1,8 @@ import argparse +import csv import sys -import unittest.mock -import warnings - -with warnings.catch_warnings(): - warnings.filterwarnings("ignore", message=r"The categories file .+? does not exist.", category=UserWarning) - - from torchvision.prototype import datasets +from torchvision.prototype import datasets from torchvision.prototype.datasets._api import find from torchvision.prototype.datasets.utils._internal import BUILTIN_DIR @@ -16,21 +11,18 @@ def main(*names, force=False): root = datasets.home() for name in names: - file = BUILTIN_DIR / f"{name}.categories" - if file.exists() and not force: + path = BUILTIN_DIR / f"{name}.categories" + if path.exists() and not force: continue dataset = find(name) try: - with unittest.mock.patch( - "torchvision.prototype.datasets.utils._dataset.DatasetInfo._read_categories_file", return_value=[] - ): - categories = dataset._generate_categories(root) + categories = dataset._generate_categories(root) except NotImplementedError: continue - with open(file, "w") as fh: - fh.write("\n".join(categories) + "\n") + with open(path, "w", newline="") as file: + csv.writer(file).writerows(categories) def parse_args(argv=None): diff --git a/torchvision/prototype/datasets/utils/_dataset.py b/torchvision/prototype/datasets/utils/_dataset.py index e185d3b4ab4..bac018424dc 100644 --- a/torchvision/prototype/datasets/utils/_dataset.py +++ b/torchvision/prototype/datasets/utils/_dataset.py @@ -1,8 +1,8 @@ import abc +import csv import enum import io import pathlib -import warnings from typing import ( Any, Callable, @@ -55,7 +55,8 @@ def __init__( elif isinstance(categories, int): categories = [str(label) for label in range(categories)] elif isinstance(categories, (str, pathlib.Path)): - categories = self._read_categories_file(pathlib.Path(categories).expanduser().resolve()) + path = pathlib.Path(categories).expanduser().resolve() + categories, *_ = zip(*self.read_categories_file(path)) self.categories = tuple(categories) self.citation = citation @@ -77,15 +78,9 @@ def __init__( self.extra = FrozenBunch(extra or dict()) @staticmethod - def _read_categories_file(path: pathlib.Path) -> List[str]: - if not path.exists() or not path.is_file(): - warnings.warn( - f"The categories file {path} does not exist. Continuing without loaded categories.", UserWarning - ) - return [] - - with open(path, "r") as file: - return [line.strip() for line in file] + def read_categories_file(path: pathlib.Path) -> List[List[str]]: + with open(path, "r", newline="") as file: + return [row for row in csv.reader(file)] @property def default_config(self) -> DatasetConfig: From c021ec481bb329a6bf6e74d46ba89747b71c98a0 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Wed, 20 Oct 2021 14:30:14 +0200 Subject: [PATCH 9/9] fix mypy --- torchvision/prototype/datasets/_builtin/imagenet.py | 2 +- torchvision/prototype/datasets/utils/_dataset.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/imagenet.py b/torchvision/prototype/datasets/_builtin/imagenet.py index ea6cda637f9..d568fa2fcfc 100644 --- a/torchvision/prototype/datasets/_builtin/imagenet.py +++ b/torchvision/prototype/datasets/_builtin/imagenet.py @@ -152,7 +152,7 @@ def _make_datapipe( "n03710721": "tank suit", } - def _generate_categories(self, root: pathlib.Path) -> List[Tuple[str, ...]]: + def _generate_categories(self, root: pathlib.Path) -> List[Tuple[str, str]]: resources = self.resources(self.default_config) devkit_dp = resources[1].to_datapipe(root / self.name) devkit_dp = TarArchiveReader(devkit_dp) diff --git a/torchvision/prototype/datasets/utils/_dataset.py b/torchvision/prototype/datasets/utils/_dataset.py index bac018424dc..dfd235db89f 100644 --- a/torchvision/prototype/datasets/utils/_dataset.py +++ b/torchvision/prototype/datasets/utils/_dataset.py @@ -165,5 +165,5 @@ def to_datapipe( resource_dps = [resource.to_datapipe(root) for resource in self.resources(config)] return self._make_datapipe(resource_dps, config=config, decoder=decoder) - def _generate_categories(self, root: pathlib.Path) -> Sequence[str]: + def _generate_categories(self, root: pathlib.Path) -> Sequence[Union[str, Sequence[str]]]: raise NotImplementedError