Spaces:
Runtime error
Runtime error
| # coding=utf-8 | |
| # Copyright 2024 The Google Research Authors. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| """Pascal-459 Dataset.""" | |
| import os | |
| import numpy as np | |
| from PIL import Image | |
| # pylint: disable=g-importing-member | |
| from torch.utils.data import Dataset | |
| PASCAL_459_CLASSES = [ | |
| 'accordion', | |
| 'aeroplane', | |
| 'air conditioner', | |
| 'antenna', | |
| 'artillery', | |
| 'ashtray', | |
| 'atrium', | |
| 'baby carriage', | |
| 'bag', | |
| 'ball', | |
| 'balloon', | |
| 'bamboo weaving', | |
| 'barrel', | |
| 'baseball bat', | |
| 'basket', | |
| 'basketball backboard', | |
| 'bathtub', | |
| 'bed', | |
| 'bedclothes', | |
| 'beer', | |
| 'bell', | |
| 'bench', | |
| 'bicycle', | |
| 'binoculars', | |
| 'bird', | |
| 'bird cage', | |
| 'bird feeder', | |
| 'bird nest', | |
| 'blackboard', | |
| 'board', | |
| 'boat', | |
| 'bone', | |
| 'book', | |
| 'bottle', | |
| 'bottle opener', | |
| 'bowl', | |
| 'box', | |
| 'bracelet', | |
| 'brick', | |
| 'bridge', | |
| 'broom', | |
| 'brush', | |
| 'bucket', | |
| 'building', | |
| 'bus', | |
| 'cabinet', | |
| 'cabinet door', | |
| 'cage', | |
| 'cake', | |
| 'calculator', | |
| 'calendar', | |
| 'camel', | |
| 'camera', | |
| 'camera lens', | |
| 'can', | |
| 'candle', | |
| 'candle holder', | |
| 'cap', | |
| 'car', | |
| 'card', | |
| 'cart', | |
| 'case', | |
| 'casette recorder', | |
| 'cash register', | |
| 'cat', | |
| 'cd', | |
| 'cd player', | |
| 'ceiling', | |
| 'cell phone', | |
| 'cello', | |
| 'chain', | |
| 'chair', | |
| 'chessboard', | |
| 'chicken', | |
| 'chopstick', | |
| 'clip', | |
| 'clippers', | |
| 'clock', | |
| 'closet', | |
| 'cloth', | |
| 'clothes tree', | |
| 'coffee', | |
| 'coffee machine', | |
| 'comb', | |
| 'computer', | |
| 'concrete', | |
| 'cone', | |
| 'container', | |
| 'control booth', | |
| 'controller', | |
| 'cooker', | |
| 'copying machine', | |
| 'coral', | |
| 'cork', | |
| 'corkscrew', | |
| 'counter', | |
| 'court', | |
| 'cow', | |
| 'crabstick', | |
| 'crane', | |
| 'crate', | |
| 'cross', | |
| 'crutch', | |
| 'cup', | |
| 'curtain', | |
| 'cushion', | |
| 'cutting board', | |
| 'dais', | |
| 'disc', | |
| 'disc case', | |
| 'dishwasher', | |
| 'dock', | |
| 'dog', | |
| 'dolphin', | |
| 'door', | |
| 'drainer', | |
| 'dray', | |
| 'drink dispenser', | |
| 'drinking machine', | |
| 'drop', | |
| 'drug', | |
| 'drum', | |
| 'drum kit', | |
| 'duck', | |
| 'dumbbell', | |
| 'earphone', | |
| 'earrings', | |
| 'egg', | |
| 'electric fan', | |
| 'electric iron', | |
| 'electric pot', | |
| 'electric saw', | |
| 'electronic keyboard', | |
| 'engine', | |
| 'envelope', | |
| 'equipment', | |
| 'escalator', | |
| 'exhibition booth', | |
| 'extinguisher', | |
| 'eyeglass', | |
| 'fan', | |
| 'faucet', | |
| 'fax machine', | |
| 'fence', | |
| 'ferris wheel', | |
| 'fire extinguisher', | |
| 'fire hydrant', | |
| 'fire place', | |
| 'fish', | |
| 'fish tank', | |
| 'fishbowl', | |
| 'fishing net', | |
| 'fishing pole', | |
| 'flag', | |
| 'flagstaff', | |
| 'flame', | |
| 'flashlight', | |
| 'floor', | |
| 'flower', | |
| 'fly', | |
| 'foam', | |
| 'food', | |
| 'footbridge', | |
| 'forceps', | |
| 'fork', | |
| 'forklift', | |
| 'fountain', | |
| 'fox', | |
| 'frame', | |
| 'fridge', | |
| 'frog', | |
| 'fruit', | |
| 'funnel', | |
| 'furnace', | |
| 'game controller', | |
| 'game machine', | |
| 'gas cylinder', | |
| 'gas hood', | |
| 'gas stove', | |
| 'gift box', | |
| 'glass', | |
| 'glass marble', | |
| 'globe', | |
| 'glove', | |
| 'goal', | |
| 'grandstand', | |
| 'grass', | |
| 'gravestone', | |
| 'ground', | |
| 'guardrail', | |
| 'guitar', | |
| 'gun', | |
| 'hammer', | |
| 'hand cart', | |
| 'handle', | |
| 'handrail', | |
| 'hanger', | |
| 'hard disk drive', | |
| 'hat', | |
| 'hay', | |
| 'headphone', | |
| 'heater', | |
| 'helicopter', | |
| 'helmet', | |
| 'holder', | |
| 'hook', | |
| 'horse', | |
| 'horse-drawn carriage', | |
| 'hot-air balloon', | |
| 'hydrovalve', | |
| 'ice', | |
| 'inflator pump', | |
| 'ipod', | |
| 'iron', | |
| 'ironing board', | |
| 'jar', | |
| 'kart', | |
| 'kettle', | |
| 'key', | |
| 'keyboard', | |
| 'kitchen range', | |
| 'kite', | |
| 'knife', | |
| 'knife block', | |
| 'ladder', | |
| 'ladder truck', | |
| 'ladle', | |
| 'laptop', | |
| 'leaves', | |
| 'lid', | |
| 'life buoy', | |
| 'light', | |
| 'light bulb', | |
| 'lighter', | |
| 'line', | |
| 'lion', | |
| 'lobster', | |
| 'lock', | |
| 'machine', | |
| 'mailbox', | |
| 'mannequin', | |
| 'map', | |
| 'mask', | |
| 'mat', | |
| 'match book', | |
| 'mattress', | |
| 'menu', | |
| 'metal', | |
| 'meter box', | |
| 'microphone', | |
| 'microwave', | |
| 'mirror', | |
| 'missile', | |
| 'model', | |
| 'money', | |
| 'monkey', | |
| 'mop', | |
| 'motorbike', | |
| 'mountain', | |
| 'mouse', | |
| 'mouse pad', | |
| 'musical instrument', | |
| 'napkin', | |
| 'net', | |
| 'newspaper', | |
| 'oar', | |
| 'ornament', | |
| 'outlet', | |
| 'oven', | |
| 'oxygen bottle', | |
| 'pack', | |
| 'pan', | |
| 'paper', | |
| 'paper box', | |
| 'paper cutter', | |
| 'parachute', | |
| 'parasol', | |
| 'parterre', | |
| 'patio', | |
| 'pelage', | |
| 'pen', | |
| 'pen container', | |
| 'pencil', | |
| 'person', | |
| 'photo', | |
| 'piano', | |
| 'picture', | |
| 'pig', | |
| 'pillar', | |
| 'pillow', | |
| 'pipe', | |
| 'pitcher', | |
| 'plant', | |
| 'plastic', | |
| 'plate', | |
| 'platform', | |
| 'player', | |
| 'playground', | |
| 'pliers', | |
| 'plume', | |
| 'poker', | |
| 'poker chip', | |
| 'pole', | |
| 'pool table', | |
| 'postcard', | |
| 'poster', | |
| 'pot', | |
| 'pottedplant', | |
| 'printer', | |
| 'projector', | |
| 'pumpkin', | |
| 'rabbit', | |
| 'racket', | |
| 'radiator', | |
| 'radio', | |
| 'rail', | |
| 'rake', | |
| 'ramp', | |
| 'range hood', | |
| 'receiver', | |
| 'recorder', | |
| 'recreational machines', | |
| 'remote control', | |
| 'road', | |
| 'robot', | |
| 'rock', | |
| 'rocket', | |
| 'rocking horse', | |
| 'rope', | |
| 'rug', | |
| 'ruler', | |
| 'runway', | |
| 'saddle', | |
| 'sand', | |
| 'saw', | |
| 'scale', | |
| 'scanner', | |
| 'scissors', | |
| 'scoop', | |
| 'screen', | |
| 'screwdriver', | |
| 'sculpture', | |
| 'scythe', | |
| 'sewer', | |
| 'sewing machine', | |
| 'shed', | |
| 'sheep', | |
| 'shell', | |
| 'shelves', | |
| 'shoe', | |
| 'shopping cart', | |
| 'shovel', | |
| 'sidecar', | |
| 'sidewalk', | |
| 'sign', | |
| 'signal light', | |
| 'sink', | |
| 'skateboard', | |
| 'ski', | |
| 'sky', | |
| 'sled', | |
| 'slippers', | |
| 'smoke', | |
| 'snail', | |
| 'snake', | |
| 'snow', | |
| 'snowmobiles', | |
| 'sofa', | |
| 'spanner', | |
| 'spatula', | |
| 'speaker', | |
| 'speed bump', | |
| 'spice container', | |
| 'spoon', | |
| 'sprayer', | |
| 'squirrel', | |
| 'stage', | |
| 'stair', | |
| 'stapler', | |
| 'stick', | |
| 'sticky note', | |
| 'stone', | |
| 'stool', | |
| 'stove', | |
| 'straw', | |
| 'stretcher', | |
| 'sun', | |
| 'sunglass', | |
| 'sunshade', | |
| 'surveillance camera', | |
| 'swan', | |
| 'sweeper', | |
| 'swim ring', | |
| 'swimming pool', | |
| 'swing', | |
| 'switch', | |
| 'table', | |
| 'tableware', | |
| 'tank', | |
| 'tap', | |
| 'tape', | |
| 'tarp', | |
| 'telephone', | |
| 'telephone booth', | |
| 'tent', | |
| 'tire', | |
| 'toaster', | |
| 'toilet', | |
| 'tong', | |
| 'tool', | |
| 'toothbrush', | |
| 'towel', | |
| 'toy', | |
| 'toy car', | |
| 'track', | |
| 'train', | |
| 'trampoline', | |
| 'trash bin', | |
| 'tray', | |
| 'tree', | |
| 'tricycle', | |
| 'tripod', | |
| 'trophy', | |
| 'truck', | |
| 'tube', | |
| 'turtle', | |
| 'tvmonitor', | |
| 'tweezers', | |
| 'typewriter', | |
| 'umbrella', | |
| 'unknown', | |
| 'vacuum cleaner', | |
| 'vending machine', | |
| 'video camera', | |
| 'video game console', | |
| 'video player', | |
| 'video tape', | |
| 'violin', | |
| 'wakeboard', | |
| 'wall', | |
| 'wallet', | |
| 'wardrobe', | |
| 'washing machine', | |
| 'watch', | |
| 'water', | |
| 'water dispenser', | |
| 'water pipe', | |
| 'water skate board', | |
| 'watermelon', | |
| 'whale', | |
| 'wharf', | |
| 'wheel', | |
| 'wheelchair', | |
| 'window', | |
| 'window blinds', | |
| 'wineglass', | |
| 'wire', | |
| 'wood', | |
| 'wool', | |
| ] | |
| PASCAL_459_CLASSE_ID = list(range(459)) | |
| PASCAL_459_STUFF_CLASS = [ | |
| 'atrium', | |
| 'ceiling', | |
| 'concrete', | |
| 'coral', | |
| 'court', | |
| 'dock', | |
| 'floor', | |
| 'foam', | |
| 'grass', | |
| 'ground', | |
| 'ice', | |
| 'leaves', | |
| 'mountain', | |
| 'parterre', | |
| 'patio', | |
| 'road', | |
| 'rock', | |
| 'rug', | |
| 'sand', | |
| 'sky', | |
| 'snow', | |
| 'stone', | |
| 'sun', | |
| 'wall', | |
| 'water', | |
| 'wood', | |
| ] | |
| PASCAL_459_THING_CLASS = [ | |
| 'accordion', | |
| 'aeroplane', | |
| 'air conditioner', | |
| 'antenna', | |
| 'artillery', | |
| 'ashtray', | |
| 'baby carriage', | |
| 'bag', | |
| 'ball', | |
| 'balloon', | |
| 'bamboo weaving', | |
| 'barrel', | |
| 'baseball bat', | |
| 'basket', | |
| 'basketball backboard', | |
| 'bathtub', | |
| 'bed', | |
| 'bedclothes', | |
| 'beer', | |
| 'bell', | |
| 'bench', | |
| 'bicycle', | |
| 'binoculars', | |
| 'bird', | |
| 'bird cage', | |
| 'bird feeder', | |
| 'bird nest', | |
| 'blackboard', | |
| 'board', | |
| 'boat', | |
| 'bone', | |
| 'book', | |
| 'bottle', | |
| 'bottle opener', | |
| 'bowl', | |
| 'box', | |
| 'bracelet', | |
| 'brick', | |
| 'bridge', | |
| 'broom', | |
| 'brush', | |
| 'bucket', | |
| 'building', | |
| 'bus', | |
| 'cabinet', | |
| 'cabinet door', | |
| 'cage', | |
| 'cake', | |
| 'calculator', | |
| 'calendar', | |
| 'camel', | |
| 'camera', | |
| 'camera lens', | |
| 'can', | |
| 'candle', | |
| 'candle holder', | |
| 'cap', | |
| 'car', | |
| 'card', | |
| 'cart', | |
| 'case', | |
| 'casette recorder', | |
| 'cash register', | |
| 'cat', | |
| 'cd', | |
| 'cd player', | |
| 'cell phone', | |
| 'cello', | |
| 'chain', | |
| 'chair', | |
| 'chessboard', | |
| 'chicken', | |
| 'chopstick', | |
| 'clip', | |
| 'clippers', | |
| 'clock', | |
| 'closet', | |
| 'cloth', | |
| 'clothes tree', | |
| 'coffee', | |
| 'coffee machine', | |
| 'comb', | |
| 'computer', | |
| 'cone', | |
| 'container', | |
| 'control booth', | |
| 'controller', | |
| 'cooker', | |
| 'copying machine', | |
| 'cork', | |
| 'corkscrew', | |
| 'counter', | |
| 'cow', | |
| 'crabstick', | |
| 'crane', | |
| 'crate', | |
| 'cross', | |
| 'crutch', | |
| 'cup', | |
| 'curtain', | |
| 'cushion', | |
| 'cutting board', | |
| 'dais', | |
| 'disc', | |
| 'disc case', | |
| 'dishwasher', | |
| 'dog', | |
| 'dolphin', | |
| 'door', | |
| 'drainer', | |
| 'dray', | |
| 'drink dispenser', | |
| 'drinking machine', | |
| 'drop', | |
| 'drug', | |
| 'drum', | |
| 'drum kit', | |
| 'duck', | |
| 'dumbbell', | |
| 'earphone', | |
| 'earrings', | |
| 'egg', | |
| 'electric fan', | |
| 'electric iron', | |
| 'electric pot', | |
| 'electric saw', | |
| 'electronic keyboard', | |
| 'engine', | |
| 'envelope', | |
| 'equipment', | |
| 'escalator', | |
| 'exhibition booth', | |
| 'extinguisher', | |
| 'eyeglass', | |
| 'fan', | |
| 'faucet', | |
| 'fax machine', | |
| 'fence', | |
| 'ferris wheel', | |
| 'fire extinguisher', | |
| 'fire hydrant', | |
| 'fire place', | |
| 'fish', | |
| 'fish tank', | |
| 'fishbowl', | |
| 'fishing net', | |
| 'fishing pole', | |
| 'flag', | |
| 'flagstaff', | |
| 'flame', | |
| 'flashlight', | |
| 'flower', | |
| 'fly', | |
| 'food', | |
| 'footbridge', | |
| 'forceps', | |
| 'fork', | |
| 'forklift', | |
| 'fountain', | |
| 'fox', | |
| 'frame', | |
| 'fridge', | |
| 'frog', | |
| 'fruit', | |
| 'funnel', | |
| 'furnace', | |
| 'game controller', | |
| 'game machine', | |
| 'gas cylinder', | |
| 'gas hood', | |
| 'gas stove', | |
| 'gift box', | |
| 'glass', | |
| 'glass marble', | |
| 'globe', | |
| 'glove', | |
| 'goal', | |
| 'grandstand', | |
| 'gravestone', | |
| 'guardrail', | |
| 'guitar', | |
| 'gun', | |
| 'hammer', | |
| 'hand cart', | |
| 'handle', | |
| 'handrail', | |
| 'hanger', | |
| 'hard disk drive', | |
| 'hat', | |
| 'hay', | |
| 'headphone', | |
| 'heater', | |
| 'helicopter', | |
| 'helmet', | |
| 'holder', | |
| 'hook', | |
| 'horse', | |
| 'horse-drawn carriage', | |
| 'hot-air balloon', | |
| 'hydrovalve', | |
| 'inflator pump', | |
| 'ipod', | |
| 'iron', | |
| 'ironing board', | |
| 'jar', | |
| 'kart', | |
| 'kettle', | |
| 'key', | |
| 'keyboard', | |
| 'kitchen range', | |
| 'kite', | |
| 'knife', | |
| 'knife block', | |
| 'ladder', | |
| 'ladder truck', | |
| 'ladle', | |
| 'laptop', | |
| 'lid', | |
| 'life buoy', | |
| 'light', | |
| 'light bulb', | |
| 'lighter', | |
| 'line', | |
| 'lion', | |
| 'lobster', | |
| 'lock', | |
| 'machine', | |
| 'mailbox', | |
| 'mannequin', | |
| 'map', | |
| 'mask', | |
| 'mat', | |
| 'match book', | |
| 'mattress', | |
| 'menu', | |
| 'metal', | |
| 'meter box', | |
| 'microphone', | |
| 'microwave', | |
| 'mirror', | |
| 'missile', | |
| 'model', | |
| 'money', | |
| 'monkey', | |
| 'mop', | |
| 'motorbike', | |
| 'mouse', | |
| 'mouse pad', | |
| 'musical instrument', | |
| 'napkin', | |
| 'net', | |
| 'newspaper', | |
| 'oar', | |
| 'ornament', | |
| 'outlet', | |
| 'oven', | |
| 'oxygen bottle', | |
| 'pack', | |
| 'pan', | |
| 'paper', | |
| 'paper box', | |
| 'paper cutter', | |
| 'parachute', | |
| 'parasol', | |
| 'pelage', | |
| 'pen', | |
| 'pen container', | |
| 'pencil', | |
| 'person', | |
| 'photo', | |
| 'piano', | |
| 'picture', | |
| 'pig', | |
| 'pillar', | |
| 'pillow', | |
| 'pipe', | |
| 'pitcher', | |
| 'plant', | |
| 'plastic', | |
| 'plate', | |
| 'platform', | |
| 'player', | |
| 'playground', | |
| 'pliers', | |
| 'plume', | |
| 'poker', | |
| 'poker chip', | |
| 'pole', | |
| 'pool table', | |
| 'postcard', | |
| 'poster', | |
| 'pot', | |
| 'pottedplant', | |
| 'printer', | |
| 'projector', | |
| 'pumpkin', | |
| 'rabbit', | |
| 'racket', | |
| 'radiator', | |
| 'radio', | |
| 'rail', | |
| 'rake', | |
| 'ramp', | |
| 'range hood', | |
| 'receiver', | |
| 'recorder', | |
| 'recreational machines', | |
| 'remote control', | |
| 'robot', | |
| 'rocket', | |
| 'rocking horse', | |
| 'rope', | |
| 'ruler', | |
| 'runway', | |
| 'saddle', | |
| 'saw', | |
| 'scale', | |
| 'scanner', | |
| 'scissors', | |
| 'scoop', | |
| 'screen', | |
| 'screwdriver', | |
| 'sculpture', | |
| 'scythe', | |
| 'sewer', | |
| 'sewing machine', | |
| 'shed', | |
| 'sheep', | |
| 'shell', | |
| 'shelves', | |
| 'shoe', | |
| 'shopping cart', | |
| 'shovel', | |
| 'sidecar', | |
| 'sidewalk', | |
| 'sign', | |
| 'signal light', | |
| 'sink', | |
| 'skateboard', | |
| 'ski', | |
| 'sled', | |
| 'slippers', | |
| 'smoke', | |
| 'snail', | |
| 'snake', | |
| 'snowmobiles', | |
| 'sofa', | |
| 'spanner', | |
| 'spatula', | |
| 'speaker', | |
| 'speed bump', | |
| 'spice container', | |
| 'spoon', | |
| 'sprayer', | |
| 'squirrel', | |
| 'stage', | |
| 'stair', | |
| 'stapler', | |
| 'stick', | |
| 'sticky note', | |
| 'stool', | |
| 'stove', | |
| 'straw', | |
| 'stretcher', | |
| 'sunglass', | |
| 'sunshade', | |
| 'surveillance camera', | |
| 'swan', | |
| 'sweeper', | |
| 'swim ring', | |
| 'swimming pool', | |
| 'swing', | |
| 'switch', | |
| 'table', | |
| 'tableware', | |
| 'tank', | |
| 'tap', | |
| 'tape', | |
| 'tarp', | |
| 'telephone', | |
| 'telephone booth', | |
| 'tent', | |
| 'tire', | |
| 'toaster', | |
| 'toilet', | |
| 'tong', | |
| 'tool', | |
| 'toothbrush', | |
| 'towel', | |
| 'toy', | |
| 'toy car', | |
| 'track', | |
| 'train', | |
| 'trampoline', | |
| 'trash bin', | |
| 'tray', | |
| 'tree', | |
| 'tricycle', | |
| 'tripod', | |
| 'trophy', | |
| 'truck', | |
| 'tube', | |
| 'turtle', | |
| 'tvmonitor', | |
| 'tweezers', | |
| 'typewriter', | |
| 'umbrella', | |
| 'unknown', | |
| 'vacuum cleaner', | |
| 'vending machine', | |
| 'video camera', | |
| 'video game console', | |
| 'video player', | |
| 'video tape', | |
| 'violin', | |
| 'wakeboard', | |
| 'wallet', | |
| 'wardrobe', | |
| 'washing machine', | |
| 'watch', | |
| 'water dispenser', | |
| 'water pipe', | |
| 'water skate board', | |
| 'watermelon', | |
| 'whale', | |
| 'wharf', | |
| 'wheel', | |
| 'wheelchair', | |
| 'window', | |
| 'window blinds', | |
| 'wineglass', | |
| 'wire', | |
| 'wool', | |
| ] | |
| PASCAL_459_STUFF_CLASS_ID = [ | |
| 6, 67, 85, 92, 96, 111, 157, 160, 186, 188, 210, 228, 258, 277, 278, 323, | |
| 325, 329, 333, 359, 365, 381, 386, 439, 444, 457, | |
| ] | |
| PASCAL_459_THING_CLASS_ID = [ | |
| i for i in range(459) if i not in PASCAL_459_STUFF_CLASS_ID | |
| ] | |
| class Pascal459Dataset(Dataset): | |
| """PASCAL 459 dataset.""" | |
| def __init__(self, root, split='validation', transform=None): | |
| super(Pascal459Dataset, self).__init__() | |
| self.root = root | |
| self.split = split | |
| self.transforms = transform | |
| self.image_dir = os.path.join(root, 'images', split) | |
| self.mask_dir = os.path.join(root, 'annotations_ctx459', split) | |
| self.images = os.listdir(self.image_dir) | |
| def __getitem__(self, index): | |
| image_path = os.path.join(self.image_dir, self.images[index]) | |
| image = Image.open(image_path).convert('RGB') | |
| target = ( | |
| np.asarray( | |
| Image.open( | |
| os.path.join( | |
| self.mask_dir, self.images[index].replace('jpg', 'tif') | |
| ) | |
| ), | |
| dtype=np.int32, | |
| ) | |
| + 1 | |
| ) | |
| if self.transforms: | |
| image = self.transforms(image) | |
| return image, image_path, target, index | |
| def __len__(self): | |
| return len(self.images) | |