There are 120 scenes in iTHOR, evenly spread across kitchens, living rooms, bedrooms, and bathrooms. The list of scenes is defined as:
kitchens = [f"FloorPlan{i}" for i in range(1, 31)]
living_rooms = [f"FloorPlan{200 + i}" for i in range(1, 31)]
bedrooms = [f"FloorPlan{300 + i}" for i in range(1, 31)]
bathrooms = [f"FloorPlan{400 + i}" for i in range(1, 31)]
scenes = kitchens + living_rooms + bedrooms + bathrooms
["FloorPlan1", "FloorPlan2", "FloorPlan3", {...}, "FloorPlan430"]
We provide a cached alias to the above definitions using the
controller.ithor_scenes(
include_kitchens=True,
include_living_rooms=True,
include_bedrooms=True,
include_bathrooms=True
)
[
"FloorPlan1",
"FloorPlan2",
{...},
"FloorPlan201",
{...},
"FloorPlan301",
{...},
"FloorPlan430",
]
Includes the 30 kitchens (i.e., FloorPlan[1:30]) in the returned list when True.
Includes the 30 living rooms (i.e., FloorPlan[201:230]) in the returned list when
Includes the 30 bedrooms (i.e., FloorPlan[301:330]) in list when
Includes the 30 bathrooms (i.e., FloorPlan[401:430]) in list when
It is common to train agents on a subset of scenes, in order to validate and test how well they generalize to new scenes and environments. For each room type, it is standard practice to treat the first scenes as training scenes, the next scenes as validation scenes, and the last scenes as testing scenes.