From 51daa20ce6c2f0e52757b0ecece8ededf02a1115 Mon Sep 17 00:00:00 2001 From: Rishav Mukherji <72412977+Amapocho@users.noreply.github.com> Date: Mon, 7 Feb 2022 21:15:06 +0530 Subject: [PATCH 1/4] Update init --- .../prototype/datasets/_builtin/__init__.py | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/torchvision/prototype/datasets/_builtin/__init__.py b/torchvision/prototype/datasets/_builtin/__init__.py index 9fdfca904f5..75c9e1ebb1e 100644 --- a/torchvision/prototype/datasets/_builtin/__init__.py +++ b/torchvision/prototype/datasets/_builtin/__init__.py @@ -1,17 +1,18 @@ -from .caltech import Caltech101, Caltech256 -from .celeba import CelebA -from .cifar import Cifar10, Cifar100 -from .clevr import CLEVR -from .coco import Coco -from .cub200 import CUB200 -from .dtd import DTD -from .fer2013 import FER2013 -from .gtsrb import GTSRB -from .imagenet import ImageNet -from .mnist import MNIST, FashionMNIST, KMNIST, EMNIST, QMNIST -from .oxford_iiit_pet import OxfordIITPet -from .pcam import PCAM -from .sbd import SBD -from .semeion import SEMEION -from .svhn import SVHN -from .voc import VOC +from .caltech import Caltech101, Caltech256 +from .celeba import CelebA +from .cifar import Cifar10, Cifar100 +from .clevr import CLEVR +from .coco import Coco +from .cub200 import CUB200 +from .dtd import DTD +from .fer2013 import FER2013 +from .gtsrb import GTSRB +from .imagenet import ImageNet +from .mnist import MNIST, FashionMNIST, KMNIST, EMNIST, QMNIST +from .oxford_iiit_pet import OxfordIITPet +from .pcam import PCAM +from .sbd import SBD +from .semeion import SEMEION +from .svhn import SVHN +from .voc import VOC +from .places365 import Places365Standard, Places365Challenge \ No newline at end of file From 4ac980ab3eb41d6e463441fc4a7d61f2794d31a8 Mon Sep 17 00:00:00 2001 From: Rishav Mukherji <72412977+Amapocho@users.noreply.github.com> Date: Mon, 7 Feb 2022 21:16:38 +0530 Subject: [PATCH 2/4] Add places starter --- .../prototype/datasets/_builtin/places365.py | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 torchvision/prototype/datasets/_builtin/places365.py diff --git a/torchvision/prototype/datasets/_builtin/places365.py b/torchvision/prototype/datasets/_builtin/places365.py new file mode 100644 index 00000000000..327ba4e6484 --- /dev/null +++ b/torchvision/prototype/datasets/_builtin/places365.py @@ -0,0 +1,76 @@ +import io +from typing import Any, Callable, Dict, List, Optional + +import torch +from torchdata.datapipes.iter import ( + IterDataPipe, + Mapper, + Filter, + IterKeyZipper, +) +from torchvision.prototype.datasets.utils import ( + Dataset, + DatasetConfig, + DatasetInfo, + HttpResource, + OnlineResource, + DatasetType, +) + +from torchvision.prototype.datasets.utils._internal import INFINITE_BUFFER_SIZE, read_mat, hint_sharding, hint_shuffling + +class Places365Standard(Dataset): + def _make_info(self) -> DatasetInfo: + return DatasetInfo( + name="places365standard", + type=DatasetType.IMAGE, + homepage="http://places2.csail.mit.edu/index.html", + ) + + def resources(self, config: DatasetConfig) -> List[OnlineResource]: + train_images = HttpResource( + "http://data.csail.mit.edu/places/places365/train_256_places365standard.tar", + sha256="", + ) + val_images = HttpResource( + "http://data.csail.mit.edu/places/places365/val_256.tar", + sha256="", + ) + test_images = HttpResource( + "http://data.csail.mit.edu/places/places365/test_256.tar", + sha256="", + ) + file_list = ( + "http://data.csail.mit.edu/places/places365/filelist_places365-standard.tar", + sha256="", + ) + return [train_images, val_images, test_images, file_list] + + + +class Places365Challenge(Dataset): + def _make_info(self) -> DatasetInfo: + return DatasetInfo( + name="places365challenge", + type=DatasetType.IMAGE, + homepage="http://places2.csail.mit.edu/index.html", + ) + + def resources(self, config: DatasetConfig) -> List[OnlineResource]: + train_images = HttpResource( + "http://data.csail.mit.edu/places/places365/train_large_places365challenge.tar", + sha256="", + ) + val_images = HttpResource( + "http://data.csail.mit.edu/places/places365/val_256.tar", + sha256="", + ) + test_images = HttpResource( + "http://data.csail.mit.edu/places/places365/test_256.tar", + sha256="", + ) + file_list = ( + "http://data.csail.mit.edu/places/places365/filelist_places365-challenge.tar", + sha256="", + ) + return [train_images, val_images, test_images, file_list] \ No newline at end of file From 3a60a6450f5779a8dcda35ee4643afc0103c0215 Mon Sep 17 00:00:00 2001 From: Rishav Mukherji <72412977+Amapocho@users.noreply.github.com> Date: Mon, 7 Feb 2022 21:17:14 +0530 Subject: [PATCH 3/4] Add categories --- .../_builtin/places365challenge.categories | 365 ++++++++++++++++++ .../_builtin/places365standard.categories | 365 ++++++++++++++++++ 2 files changed, 730 insertions(+) create mode 100644 torchvision/prototype/datasets/_builtin/places365challenge.categories create mode 100644 torchvision/prototype/datasets/_builtin/places365standard.categories diff --git a/torchvision/prototype/datasets/_builtin/places365challenge.categories b/torchvision/prototype/datasets/_builtin/places365challenge.categories new file mode 100644 index 00000000000..8f809d79b45 --- /dev/null +++ b/torchvision/prototype/datasets/_builtin/places365challenge.categories @@ -0,0 +1,365 @@ +airfield +airplane_cabin +airport_terminal +alcove +alley +amphitheater +amusement_arcade +amusement_park +apartment_building/outdoor +aquarium +aqueduct +arcade +arch +archaelogical_excavation +archive +arena/hockey +arena/performance +arena/rodeo +army_base +art_gallery +art_school +art_studio +artists_loft +assembly_line +athletic_field/outdoor +atrium/public +attic +auditorium +auto_factory +auto_showroom +badlands +bakery/shop +balcony/exterior +balcony/interior +ball_pit +ballroom +bamboo_forest +bank_vault +banquet_hall +bar +barn +barndoor +baseball_field +basement +basketball_court/indoor +bathroom +bazaar/indoor +bazaar/outdoor +beach +beach_house +beauty_salon +bedchamber +bedroom +beer_garden +beer_hall +berth +biology_laboratory +boardwalk +boat_deck +boathouse +bookstore +booth/indoor +botanical_garden +bow_window/indoor +bowling_alley +boxing_ring +bridge +building_facade +bullring +burial_chamber +bus_interior +bus_station/indoor +butchers_shop +butte +cabin/outdoor +cafeteria +campsite +campus +canal/natural +canal/urban +candy_store +canyon +car_interior +carrousel +castle +catacomb +cemetery +chalet +chemistry_lab +childs_room +church/indoor +church/outdoor +classroom +clean_room +cliff +closet +clothing_store +coast +cockpit +coffee_shop +computer_room +conference_center +conference_room +construction_site +corn_field +corral +corridor +cottage +courthouse +courtyard +creek +crevasse +crosswalk +dam +delicatessen +department_store +desert/sand +desert/vegetation +desert_road +diner/outdoor +dining_hall +dining_room +discotheque +doorway/outdoor +dorm_room +downtown +dressing_room +driveway +drugstore +elevator/door +elevator_lobby +elevator_shaft +embassy +engine_room +entrance_hall +escalator/indoor +excavation +fabric_store +farm +fastfood_restaurant +field/cultivated +field/wild +field_road +fire_escape +fire_station +fishpond +flea_market/indoor +florist_shop/indoor +food_court +football_field +forest/broadleaf +forest_path +forest_road +formal_garden +fountain +galley +garage/indoor +garage/outdoor +gas_station +gazebo/exterior +general_store/indoor +general_store/outdoor +gift_shop +glacier +golf_course +greenhouse/indoor +greenhouse/outdoor +grotto +gymnasium/indoor +hangar/indoor +hangar/outdoor +harbor +hardware_store +hayfield +heliport +highway +home_office +home_theater +hospital +hospital_room +hot_spring +hotel/outdoor +hotel_room +house +hunting_lodge/outdoor +ice_cream_parlor +ice_floe +ice_shelf +ice_skating_rink/indoor +ice_skating_rink/outdoor +iceberg +igloo +industrial_area +inn/outdoor +islet +jacuzzi/indoor +jail_cell +japanese_garden +jewelry_shop +junkyard +kasbah +kennel/outdoor +kindergarden_classroom +kitchen +lagoon +lake/natural +landfill +landing_deck +laundromat +lawn +lecture_room +legislative_chamber +library/indoor +library/outdoor +lighthouse +living_room +loading_dock +lobby +lock_chamber +locker_room +mansion +manufactured_home +market/indoor +market/outdoor +marsh +martial_arts_gym +mausoleum +medina +mezzanine +moat/water +mosque/outdoor +motel +mountain +mountain_path +mountain_snowy +movie_theater/indoor +museum/indoor +museum/outdoor +music_studio +natural_history_museum +nursery +nursing_home +oast_house +ocean +office +office_building +office_cubicles +oilrig +operating_room +orchard +orchestra_pit +pagoda +palace +pantry +park +parking_garage/indoor +parking_garage/outdoor +parking_lot +pasture +patio +pavilion +pet_shop +pharmacy +phone_booth +physics_laboratory +picnic_area +pier +pizzeria +playground +playroom +plaza +pond +porch +promenade +pub/indoor +racecourse +raceway +raft +railroad_track +rainforest +reception +recreation_room +repair_shop +residential_neighborhood +restaurant +restaurant_kitchen +restaurant_patio +rice_paddy +river +rock_arch +roof_garden +rope_bridge +ruin +runway +sandbox +sauna +schoolhouse +science_museum +server_room +shed +shoe_shop +shopfront +shopping_mall/indoor +shower +ski_resort +ski_slope +sky +skyscraper +slum +snowfield +soccer_field +stable +stadium/baseball +stadium/football +stadium/soccer +stage/indoor +stage/outdoor +staircase +storage_room +street +subway_station/platform +supermarket +sushi_bar +swamp +swimming_hole +swimming_pool/indoor +swimming_pool/outdoor +synagogue/outdoor +television_room +television_studio +temple/asia +throne_room +ticket_booth +topiary_garden +tower +toyshop +train_interior +train_station/platform +tree_farm +tree_house +trench +tundra +underwater/ocean_deep +utility_room +valley +vegetable_garden +veterinarians_office +viaduct +village +vineyard +volcano +volleyball_court/outdoor +waiting_room +water_park +water_tower +waterfall +watering_hole +wave +wet_bar +wheat_field +wind_farm +windmill +yard +youth_hostel +zen_garden \ No newline at end of file diff --git a/torchvision/prototype/datasets/_builtin/places365standard.categories b/torchvision/prototype/datasets/_builtin/places365standard.categories new file mode 100644 index 00000000000..8f809d79b45 --- /dev/null +++ b/torchvision/prototype/datasets/_builtin/places365standard.categories @@ -0,0 +1,365 @@ +airfield +airplane_cabin +airport_terminal +alcove +alley +amphitheater +amusement_arcade +amusement_park +apartment_building/outdoor +aquarium +aqueduct +arcade +arch +archaelogical_excavation +archive +arena/hockey +arena/performance +arena/rodeo +army_base +art_gallery +art_school +art_studio +artists_loft +assembly_line +athletic_field/outdoor +atrium/public +attic +auditorium +auto_factory +auto_showroom +badlands +bakery/shop +balcony/exterior +balcony/interior +ball_pit +ballroom +bamboo_forest +bank_vault +banquet_hall +bar +barn +barndoor +baseball_field +basement +basketball_court/indoor +bathroom +bazaar/indoor +bazaar/outdoor +beach +beach_house +beauty_salon +bedchamber +bedroom +beer_garden +beer_hall +berth +biology_laboratory +boardwalk +boat_deck +boathouse +bookstore +booth/indoor +botanical_garden +bow_window/indoor +bowling_alley +boxing_ring +bridge +building_facade +bullring +burial_chamber +bus_interior +bus_station/indoor +butchers_shop +butte +cabin/outdoor +cafeteria +campsite +campus +canal/natural +canal/urban +candy_store +canyon +car_interior +carrousel +castle +catacomb +cemetery +chalet +chemistry_lab +childs_room +church/indoor +church/outdoor +classroom +clean_room +cliff +closet +clothing_store +coast +cockpit +coffee_shop +computer_room +conference_center +conference_room +construction_site +corn_field +corral +corridor +cottage +courthouse +courtyard +creek +crevasse +crosswalk +dam +delicatessen +department_store +desert/sand +desert/vegetation +desert_road +diner/outdoor +dining_hall +dining_room +discotheque +doorway/outdoor +dorm_room +downtown +dressing_room +driveway +drugstore +elevator/door +elevator_lobby +elevator_shaft +embassy +engine_room +entrance_hall +escalator/indoor +excavation +fabric_store +farm +fastfood_restaurant +field/cultivated +field/wild +field_road +fire_escape +fire_station +fishpond +flea_market/indoor +florist_shop/indoor +food_court +football_field +forest/broadleaf +forest_path +forest_road +formal_garden +fountain +galley +garage/indoor +garage/outdoor +gas_station +gazebo/exterior +general_store/indoor +general_store/outdoor +gift_shop +glacier +golf_course +greenhouse/indoor +greenhouse/outdoor +grotto +gymnasium/indoor +hangar/indoor +hangar/outdoor +harbor +hardware_store +hayfield +heliport +highway +home_office +home_theater +hospital +hospital_room +hot_spring +hotel/outdoor +hotel_room +house +hunting_lodge/outdoor +ice_cream_parlor +ice_floe +ice_shelf +ice_skating_rink/indoor +ice_skating_rink/outdoor +iceberg +igloo +industrial_area +inn/outdoor +islet +jacuzzi/indoor +jail_cell +japanese_garden +jewelry_shop +junkyard +kasbah +kennel/outdoor +kindergarden_classroom +kitchen +lagoon +lake/natural +landfill +landing_deck +laundromat +lawn +lecture_room +legislative_chamber +library/indoor +library/outdoor +lighthouse +living_room +loading_dock +lobby +lock_chamber +locker_room +mansion +manufactured_home +market/indoor +market/outdoor +marsh +martial_arts_gym +mausoleum +medina +mezzanine +moat/water +mosque/outdoor +motel +mountain +mountain_path +mountain_snowy +movie_theater/indoor +museum/indoor +museum/outdoor +music_studio +natural_history_museum +nursery +nursing_home +oast_house +ocean +office +office_building +office_cubicles +oilrig +operating_room +orchard +orchestra_pit +pagoda +palace +pantry +park +parking_garage/indoor +parking_garage/outdoor +parking_lot +pasture +patio +pavilion +pet_shop +pharmacy +phone_booth +physics_laboratory +picnic_area +pier +pizzeria +playground +playroom +plaza +pond +porch +promenade +pub/indoor +racecourse +raceway +raft +railroad_track +rainforest +reception +recreation_room +repair_shop +residential_neighborhood +restaurant +restaurant_kitchen +restaurant_patio +rice_paddy +river +rock_arch +roof_garden +rope_bridge +ruin +runway +sandbox +sauna +schoolhouse +science_museum +server_room +shed +shoe_shop +shopfront +shopping_mall/indoor +shower +ski_resort +ski_slope +sky +skyscraper +slum +snowfield +soccer_field +stable +stadium/baseball +stadium/football +stadium/soccer +stage/indoor +stage/outdoor +staircase +storage_room +street +subway_station/platform +supermarket +sushi_bar +swamp +swimming_hole +swimming_pool/indoor +swimming_pool/outdoor +synagogue/outdoor +television_room +television_studio +temple/asia +throne_room +ticket_booth +topiary_garden +tower +toyshop +train_interior +train_station/platform +tree_farm +tree_house +trench +tundra +underwater/ocean_deep +utility_room +valley +vegetable_garden +veterinarians_office +viaduct +village +vineyard +volcano +volleyball_court/outdoor +waiting_room +water_park +water_tower +waterfall +watering_hole +wave +wet_bar +wheat_field +wind_farm +windmill +yard +youth_hostel +zen_garden \ No newline at end of file From e7ec167a170ecd2998c1b8b45872ecdb06884825 Mon Sep 17 00:00:00 2001 From: Philip Meier Date: Mon, 7 Feb 2022 16:19:05 +0100 Subject: [PATCH 4/4] cleanup --- .../prototype/datasets/_builtin/__init__.py | 36 +- ...llenge.categories => places365.categories} | 730 +++++++++--------- .../prototype/datasets/_builtin/places365.py | 143 ++-- .../_builtin/places365standard.categories | 365 --------- 4 files changed, 450 insertions(+), 824 deletions(-) rename torchvision/prototype/datasets/_builtin/{places365challenge.categories => places365.categories} (92%) delete mode 100644 torchvision/prototype/datasets/_builtin/places365standard.categories diff --git a/torchvision/prototype/datasets/_builtin/__init__.py b/torchvision/prototype/datasets/_builtin/__init__.py index 75c9e1ebb1e..27e9e24e0f0 100644 --- a/torchvision/prototype/datasets/_builtin/__init__.py +++ b/torchvision/prototype/datasets/_builtin/__init__.py @@ -1,18 +1,18 @@ -from .caltech import Caltech101, Caltech256 -from .celeba import CelebA -from .cifar import Cifar10, Cifar100 -from .clevr import CLEVR -from .coco import Coco -from .cub200 import CUB200 -from .dtd import DTD -from .fer2013 import FER2013 -from .gtsrb import GTSRB -from .imagenet import ImageNet -from .mnist import MNIST, FashionMNIST, KMNIST, EMNIST, QMNIST -from .oxford_iiit_pet import OxfordIITPet -from .pcam import PCAM -from .sbd import SBD -from .semeion import SEMEION -from .svhn import SVHN -from .voc import VOC -from .places365 import Places365Standard, Places365Challenge \ No newline at end of file +from .caltech import Caltech101, Caltech256 +from .celeba import CelebA +from .cifar import Cifar10, Cifar100 +from .clevr import CLEVR +from .coco import Coco +from .cub200 import CUB200 +from .dtd import DTD +from .fer2013 import FER2013 +from .gtsrb import GTSRB +from .imagenet import ImageNet +from .mnist import MNIST, FashionMNIST, KMNIST, EMNIST, QMNIST +from .oxford_iiit_pet import OxfordIITPet +from .pcam import PCAM +from .places365 import Places365 +from .sbd import SBD +from .semeion import SEMEION +from .svhn import SVHN +from .voc import VOC diff --git a/torchvision/prototype/datasets/_builtin/places365challenge.categories b/torchvision/prototype/datasets/_builtin/places365.categories similarity index 92% rename from torchvision/prototype/datasets/_builtin/places365challenge.categories rename to torchvision/prototype/datasets/_builtin/places365.categories index 8f809d79b45..910dcf25d42 100644 --- a/torchvision/prototype/datasets/_builtin/places365challenge.categories +++ b/torchvision/prototype/datasets/_builtin/places365.categories @@ -1,365 +1,365 @@ -airfield -airplane_cabin -airport_terminal -alcove -alley -amphitheater -amusement_arcade -amusement_park -apartment_building/outdoor -aquarium -aqueduct -arcade -arch -archaelogical_excavation -archive -arena/hockey -arena/performance -arena/rodeo -army_base -art_gallery -art_school -art_studio -artists_loft -assembly_line -athletic_field/outdoor -atrium/public -attic -auditorium -auto_factory -auto_showroom -badlands -bakery/shop -balcony/exterior -balcony/interior -ball_pit -ballroom -bamboo_forest -bank_vault -banquet_hall -bar -barn -barndoor -baseball_field -basement -basketball_court/indoor -bathroom -bazaar/indoor -bazaar/outdoor -beach -beach_house -beauty_salon -bedchamber -bedroom -beer_garden -beer_hall -berth -biology_laboratory -boardwalk -boat_deck -boathouse -bookstore -booth/indoor -botanical_garden -bow_window/indoor -bowling_alley -boxing_ring -bridge -building_facade -bullring -burial_chamber -bus_interior -bus_station/indoor -butchers_shop -butte -cabin/outdoor -cafeteria -campsite -campus -canal/natural -canal/urban -candy_store -canyon -car_interior -carrousel -castle -catacomb -cemetery -chalet -chemistry_lab -childs_room -church/indoor -church/outdoor -classroom -clean_room -cliff -closet -clothing_store -coast -cockpit -coffee_shop -computer_room -conference_center -conference_room -construction_site -corn_field -corral -corridor -cottage -courthouse -courtyard -creek -crevasse -crosswalk -dam -delicatessen -department_store -desert/sand -desert/vegetation -desert_road -diner/outdoor -dining_hall -dining_room -discotheque -doorway/outdoor -dorm_room -downtown -dressing_room -driveway -drugstore -elevator/door -elevator_lobby -elevator_shaft -embassy -engine_room -entrance_hall -escalator/indoor -excavation -fabric_store -farm -fastfood_restaurant -field/cultivated -field/wild -field_road -fire_escape -fire_station -fishpond -flea_market/indoor -florist_shop/indoor -food_court -football_field -forest/broadleaf -forest_path -forest_road -formal_garden -fountain -galley -garage/indoor -garage/outdoor -gas_station -gazebo/exterior -general_store/indoor -general_store/outdoor -gift_shop -glacier -golf_course -greenhouse/indoor -greenhouse/outdoor -grotto -gymnasium/indoor -hangar/indoor -hangar/outdoor -harbor -hardware_store -hayfield -heliport -highway -home_office -home_theater -hospital -hospital_room -hot_spring -hotel/outdoor -hotel_room -house -hunting_lodge/outdoor -ice_cream_parlor -ice_floe -ice_shelf -ice_skating_rink/indoor -ice_skating_rink/outdoor -iceberg -igloo -industrial_area -inn/outdoor -islet -jacuzzi/indoor -jail_cell -japanese_garden -jewelry_shop -junkyard -kasbah -kennel/outdoor -kindergarden_classroom -kitchen -lagoon -lake/natural -landfill -landing_deck -laundromat -lawn -lecture_room -legislative_chamber -library/indoor -library/outdoor -lighthouse -living_room -loading_dock -lobby -lock_chamber -locker_room -mansion -manufactured_home -market/indoor -market/outdoor -marsh -martial_arts_gym -mausoleum -medina -mezzanine -moat/water -mosque/outdoor -motel -mountain -mountain_path -mountain_snowy -movie_theater/indoor -museum/indoor -museum/outdoor -music_studio -natural_history_museum -nursery -nursing_home -oast_house -ocean -office -office_building -office_cubicles -oilrig -operating_room -orchard -orchestra_pit -pagoda -palace -pantry -park -parking_garage/indoor -parking_garage/outdoor -parking_lot -pasture -patio -pavilion -pet_shop -pharmacy -phone_booth -physics_laboratory -picnic_area -pier -pizzeria -playground -playroom -plaza -pond -porch -promenade -pub/indoor -racecourse -raceway -raft -railroad_track -rainforest -reception -recreation_room -repair_shop -residential_neighborhood -restaurant -restaurant_kitchen -restaurant_patio -rice_paddy -river -rock_arch -roof_garden -rope_bridge -ruin -runway -sandbox -sauna -schoolhouse -science_museum -server_room -shed -shoe_shop -shopfront -shopping_mall/indoor -shower -ski_resort -ski_slope -sky -skyscraper -slum -snowfield -soccer_field -stable -stadium/baseball -stadium/football -stadium/soccer -stage/indoor -stage/outdoor -staircase -storage_room -street -subway_station/platform -supermarket -sushi_bar -swamp -swimming_hole -swimming_pool/indoor -swimming_pool/outdoor -synagogue/outdoor -television_room -television_studio -temple/asia -throne_room -ticket_booth -topiary_garden -tower -toyshop -train_interior -train_station/platform -tree_farm -tree_house -trench -tundra -underwater/ocean_deep -utility_room -valley -vegetable_garden -veterinarians_office -viaduct -village -vineyard -volcano -volleyball_court/outdoor -waiting_room -water_park -water_tower -waterfall -watering_hole -wave -wet_bar -wheat_field -wind_farm -windmill -yard -youth_hostel -zen_garden \ No newline at end of file +airfield +airplane_cabin +airport_terminal +alcove +alley +amphitheater +amusement_arcade +amusement_park +apartment_building/outdoor +aquarium +aqueduct +arcade +arch +archaelogical_excavation +archive +arena/hockey +arena/performance +arena/rodeo +army_base +art_gallery +art_school +art_studio +artists_loft +assembly_line +athletic_field/outdoor +atrium/public +attic +auditorium +auto_factory +auto_showroom +badlands +bakery/shop +balcony/exterior +balcony/interior +ball_pit +ballroom +bamboo_forest +bank_vault +banquet_hall +bar +barn +barndoor +baseball_field +basement +basketball_court/indoor +bathroom +bazaar/indoor +bazaar/outdoor +beach +beach_house +beauty_salon +bedchamber +bedroom +beer_garden +beer_hall +berth +biology_laboratory +boardwalk +boat_deck +boathouse +bookstore +booth/indoor +botanical_garden +bow_window/indoor +bowling_alley +boxing_ring +bridge +building_facade +bullring +burial_chamber +bus_interior +bus_station/indoor +butchers_shop +butte +cabin/outdoor +cafeteria +campsite +campus +canal/natural +canal/urban +candy_store +canyon +car_interior +carrousel +castle +catacomb +cemetery +chalet +chemistry_lab +childs_room +church/indoor +church/outdoor +classroom +clean_room +cliff +closet +clothing_store +coast +cockpit +coffee_shop +computer_room +conference_center +conference_room +construction_site +corn_field +corral +corridor +cottage +courthouse +courtyard +creek +crevasse +crosswalk +dam +delicatessen +department_store +desert/sand +desert/vegetation +desert_road +diner/outdoor +dining_hall +dining_room +discotheque +doorway/outdoor +dorm_room +downtown +dressing_room +driveway +drugstore +elevator/door +elevator_lobby +elevator_shaft +embassy +engine_room +entrance_hall +escalator/indoor +excavation +fabric_store +farm +fastfood_restaurant +field/cultivated +field/wild +field_road +fire_escape +fire_station +fishpond +flea_market/indoor +florist_shop/indoor +food_court +football_field +forest/broadleaf +forest_path +forest_road +formal_garden +fountain +galley +garage/indoor +garage/outdoor +gas_station +gazebo/exterior +general_store/indoor +general_store/outdoor +gift_shop +glacier +golf_course +greenhouse/indoor +greenhouse/outdoor +grotto +gymnasium/indoor +hangar/indoor +hangar/outdoor +harbor +hardware_store +hayfield +heliport +highway +home_office +home_theater +hospital +hospital_room +hot_spring +hotel/outdoor +hotel_room +house +hunting_lodge/outdoor +ice_cream_parlor +ice_floe +ice_shelf +ice_skating_rink/indoor +ice_skating_rink/outdoor +iceberg +igloo +industrial_area +inn/outdoor +islet +jacuzzi/indoor +jail_cell +japanese_garden +jewelry_shop +junkyard +kasbah +kennel/outdoor +kindergarden_classroom +kitchen +lagoon +lake/natural +landfill +landing_deck +laundromat +lawn +lecture_room +legislative_chamber +library/indoor +library/outdoor +lighthouse +living_room +loading_dock +lobby +lock_chamber +locker_room +mansion +manufactured_home +market/indoor +market/outdoor +marsh +martial_arts_gym +mausoleum +medina +mezzanine +moat/water +mosque/outdoor +motel +mountain +mountain_path +mountain_snowy +movie_theater/indoor +museum/indoor +museum/outdoor +music_studio +natural_history_museum +nursery +nursing_home +oast_house +ocean +office +office_building +office_cubicles +oilrig +operating_room +orchard +orchestra_pit +pagoda +palace +pantry +park +parking_garage/indoor +parking_garage/outdoor +parking_lot +pasture +patio +pavilion +pet_shop +pharmacy +phone_booth +physics_laboratory +picnic_area +pier +pizzeria +playground +playroom +plaza +pond +porch +promenade +pub/indoor +racecourse +raceway +raft +railroad_track +rainforest +reception +recreation_room +repair_shop +residential_neighborhood +restaurant +restaurant_kitchen +restaurant_patio +rice_paddy +river +rock_arch +roof_garden +rope_bridge +ruin +runway +sandbox +sauna +schoolhouse +science_museum +server_room +shed +shoe_shop +shopfront +shopping_mall/indoor +shower +ski_resort +ski_slope +sky +skyscraper +slum +snowfield +soccer_field +stable +stadium/baseball +stadium/football +stadium/soccer +stage/indoor +stage/outdoor +staircase +storage_room +street +subway_station/platform +supermarket +sushi_bar +swamp +swimming_hole +swimming_pool/indoor +swimming_pool/outdoor +synagogue/outdoor +television_room +television_studio +temple/asia +throne_room +ticket_booth +topiary_garden +tower +toyshop +train_interior +train_station/platform +tree_farm +tree_house +trench +tundra +underwater/ocean_deep +utility_room +valley +vegetable_garden +veterinarians_office +viaduct +village +vineyard +volcano +volleyball_court/outdoor +waiting_room +water_park +water_tower +waterfall +watering_hole +wave +wet_bar +wheat_field +wind_farm +windmill +yard +youth_hostel +zen_garden diff --git a/torchvision/prototype/datasets/_builtin/places365.py b/torchvision/prototype/datasets/_builtin/places365.py index 327ba4e6484..7642908e09e 100644 --- a/torchvision/prototype/datasets/_builtin/places365.py +++ b/torchvision/prototype/datasets/_builtin/places365.py @@ -1,76 +1,67 @@ -import io -from typing import Any, Callable, Dict, List, Optional - -import torch -from torchdata.datapipes.iter import ( - IterDataPipe, - Mapper, - Filter, - IterKeyZipper, -) -from torchvision.prototype.datasets.utils import ( - Dataset, - DatasetConfig, - DatasetInfo, - HttpResource, - OnlineResource, - DatasetType, -) - -from torchvision.prototype.datasets.utils._internal import INFINITE_BUFFER_SIZE, read_mat, hint_sharding, hint_shuffling - -class Places365Standard(Dataset): - def _make_info(self) -> DatasetInfo: - return DatasetInfo( - name="places365standard", - type=DatasetType.IMAGE, - homepage="http://places2.csail.mit.edu/index.html", - ) - - def resources(self, config: DatasetConfig) -> List[OnlineResource]: - train_images = HttpResource( - "http://data.csail.mit.edu/places/places365/train_256_places365standard.tar", - sha256="", - ) - val_images = HttpResource( - "http://data.csail.mit.edu/places/places365/val_256.tar", - sha256="", - ) - test_images = HttpResource( - "http://data.csail.mit.edu/places/places365/test_256.tar", - sha256="", - ) - file_list = ( - "http://data.csail.mit.edu/places/places365/filelist_places365-standard.tar", - sha256="", - ) - return [train_images, val_images, test_images, file_list] - - - -class Places365Challenge(Dataset): - def _make_info(self) -> DatasetInfo: - return DatasetInfo( - name="places365challenge", - type=DatasetType.IMAGE, - homepage="http://places2.csail.mit.edu/index.html", - ) - - def resources(self, config: DatasetConfig) -> List[OnlineResource]: - train_images = HttpResource( - "http://data.csail.mit.edu/places/places365/train_large_places365challenge.tar", - sha256="", - ) - val_images = HttpResource( - "http://data.csail.mit.edu/places/places365/val_256.tar", - sha256="", - ) - test_images = HttpResource( - "http://data.csail.mit.edu/places/places365/test_256.tar", - sha256="", - ) - file_list = ( - "http://data.csail.mit.edu/places/places365/filelist_places365-challenge.tar", - sha256="", - ) - return [train_images, val_images, test_images, file_list] \ No newline at end of file +import io +import pathlib +from typing import Any, Callable, Dict, List, Optional + +import torch +from torchdata.datapipes.iter import IterDataPipe, Filter, LineReader +from torchvision.prototype.datasets.utils import ( + Dataset, + DatasetConfig, + DatasetInfo, + HttpResource, + OnlineResource, + DatasetType, +) +from torchvision.prototype.datasets.utils._internal import hint_sharding, hint_shuffling, path_comparator + + +class Places365(Dataset): + def _make_info(self) -> DatasetInfo: + return DatasetInfo( + name="places365", + type=DatasetType.IMAGE, + homepage="http://places2.csail.mit.edu/index.html", + valid_options=dict(split=("train", "val", "test")), + ) + + _RESOURCES = { + "train": ("train_large_places365standard.tar", ""), + "val": ("val_large.tar", "ddd71c418592a4c230645e238f9e52de77247461d68cd9a14a080a9ca6f27df6"), + "test": ("test_large.tar", "4fae1d859035fe800a7697c27e5e69d78eb292d4cf12d84798c497b23b46b8e1"), + } + + def resources(self, config: DatasetConfig) -> List[OnlineResource]: + url_root = "http://data.csail.mit.edu/places/places365" + + meta = HttpResource( + f"{url_root}/filelist_places365-standard.tar", + sha256="520699e00d69b63ddc29fac54645aa00ce1c10ca42e288960aa1cf791d6e9aa9", + ) + + filename, sha256 = self._RESOURCES[config.split] + images = HttpResource(f"{url_root}/{filename}", sha256=sha256) + + return [meta, images] + + def _make_datapipe( + self, + resource_dps: List[IterDataPipe], + *, + config: DatasetConfig, + decoder: Optional[Callable[[io.IOBase], torch.Tensor]], + ) -> IterDataPipe[Dict[str, Any]]: + meta_dp, images_dp = resource_dps + + images_dp = hint_sharding(images_dp) + images_dp = hint_shuffling(images_dp) + + return images_dp + + def _generate_categories(self, root: pathlib.Path) -> List[str]: + resources = self.resources(self.info.make_config(split="val")) + + meta_dp = resources[0].load(root) + categories_dp = Filter(meta_dp, path_comparator("name", "categories_places365.txt")) + categories_dp = LineReader(categories_dp, decode=True, return_path=False) + + return [posix_path_and_label.split()[0][3:] for posix_path_and_label in categories_dp] diff --git a/torchvision/prototype/datasets/_builtin/places365standard.categories b/torchvision/prototype/datasets/_builtin/places365standard.categories deleted file mode 100644 index 8f809d79b45..00000000000 --- a/torchvision/prototype/datasets/_builtin/places365standard.categories +++ /dev/null @@ -1,365 +0,0 @@ -airfield -airplane_cabin -airport_terminal -alcove -alley -amphitheater -amusement_arcade -amusement_park -apartment_building/outdoor -aquarium -aqueduct -arcade -arch -archaelogical_excavation -archive -arena/hockey -arena/performance -arena/rodeo -army_base -art_gallery -art_school -art_studio -artists_loft -assembly_line -athletic_field/outdoor -atrium/public -attic -auditorium -auto_factory -auto_showroom -badlands -bakery/shop -balcony/exterior -balcony/interior -ball_pit -ballroom -bamboo_forest -bank_vault -banquet_hall -bar -barn -barndoor -baseball_field -basement -basketball_court/indoor -bathroom -bazaar/indoor -bazaar/outdoor -beach -beach_house -beauty_salon -bedchamber -bedroom -beer_garden -beer_hall -berth -biology_laboratory -boardwalk -boat_deck -boathouse -bookstore -booth/indoor -botanical_garden -bow_window/indoor -bowling_alley -boxing_ring -bridge -building_facade -bullring -burial_chamber -bus_interior -bus_station/indoor -butchers_shop -butte -cabin/outdoor -cafeteria -campsite -campus -canal/natural -canal/urban -candy_store -canyon -car_interior -carrousel -castle -catacomb -cemetery -chalet -chemistry_lab -childs_room -church/indoor -church/outdoor -classroom -clean_room -cliff -closet -clothing_store -coast -cockpit -coffee_shop -computer_room -conference_center -conference_room -construction_site -corn_field -corral -corridor -cottage -courthouse -courtyard -creek -crevasse -crosswalk -dam -delicatessen -department_store -desert/sand -desert/vegetation -desert_road -diner/outdoor -dining_hall -dining_room -discotheque -doorway/outdoor -dorm_room -downtown -dressing_room -driveway -drugstore -elevator/door -elevator_lobby -elevator_shaft -embassy -engine_room -entrance_hall -escalator/indoor -excavation -fabric_store -farm -fastfood_restaurant -field/cultivated -field/wild -field_road -fire_escape -fire_station -fishpond -flea_market/indoor -florist_shop/indoor -food_court -football_field -forest/broadleaf -forest_path -forest_road -formal_garden -fountain -galley -garage/indoor -garage/outdoor -gas_station -gazebo/exterior -general_store/indoor -general_store/outdoor -gift_shop -glacier -golf_course -greenhouse/indoor -greenhouse/outdoor -grotto -gymnasium/indoor -hangar/indoor -hangar/outdoor -harbor -hardware_store -hayfield -heliport -highway -home_office -home_theater -hospital -hospital_room -hot_spring -hotel/outdoor -hotel_room -house -hunting_lodge/outdoor -ice_cream_parlor -ice_floe -ice_shelf -ice_skating_rink/indoor -ice_skating_rink/outdoor -iceberg -igloo -industrial_area -inn/outdoor -islet -jacuzzi/indoor -jail_cell -japanese_garden -jewelry_shop -junkyard -kasbah -kennel/outdoor -kindergarden_classroom -kitchen -lagoon -lake/natural -landfill -landing_deck -laundromat -lawn -lecture_room -legislative_chamber -library/indoor -library/outdoor -lighthouse -living_room -loading_dock -lobby -lock_chamber -locker_room -mansion -manufactured_home -market/indoor -market/outdoor -marsh -martial_arts_gym -mausoleum -medina -mezzanine -moat/water -mosque/outdoor -motel -mountain -mountain_path -mountain_snowy -movie_theater/indoor -museum/indoor -museum/outdoor -music_studio -natural_history_museum -nursery -nursing_home -oast_house -ocean -office -office_building -office_cubicles -oilrig -operating_room -orchard -orchestra_pit -pagoda -palace -pantry -park -parking_garage/indoor -parking_garage/outdoor -parking_lot -pasture -patio -pavilion -pet_shop -pharmacy -phone_booth -physics_laboratory -picnic_area -pier -pizzeria -playground -playroom -plaza -pond -porch -promenade -pub/indoor -racecourse -raceway -raft -railroad_track -rainforest -reception -recreation_room -repair_shop -residential_neighborhood -restaurant -restaurant_kitchen -restaurant_patio -rice_paddy -river -rock_arch -roof_garden -rope_bridge -ruin -runway -sandbox -sauna -schoolhouse -science_museum -server_room -shed -shoe_shop -shopfront -shopping_mall/indoor -shower -ski_resort -ski_slope -sky -skyscraper -slum -snowfield -soccer_field -stable -stadium/baseball -stadium/football -stadium/soccer -stage/indoor -stage/outdoor -staircase -storage_room -street -subway_station/platform -supermarket -sushi_bar -swamp -swimming_hole -swimming_pool/indoor -swimming_pool/outdoor -synagogue/outdoor -television_room -television_studio -temple/asia -throne_room -ticket_booth -topiary_garden -tower -toyshop -train_interior -train_station/platform -tree_farm -tree_house -trench -tundra -underwater/ocean_deep -utility_room -valley -vegetable_garden -veterinarians_office -viaduct -village -vineyard -volcano -volleyball_court/outdoor -waiting_room -water_park -water_tower -waterfall -watering_hole -wave -wet_bar -wheat_field -wind_farm -windmill -yard -youth_hostel -zen_garden \ No newline at end of file