import os
import torch


feats = torch.load(os.path.join(os.path.dirname(__file__), 'lvis_cats.pt'))
categories = [
    'Band_Aid',
    'Bible',
    'CD_player',
    'Christmas_tree',
    'Dixie_cup',
    'Ferris_wheel',
    'Lego',
    'Rollerblade',
    'Sharpie',
    'Tabasco_sauce',
    'aerosol_can',
    'air_conditioner',
    'airplane',
    'alarm_clock',
    'alcohol',
    'alligator',
    'almond',
    'ambulance',
    'amplifier',
    'anklet',
    'antenna',
    'apple',
    'apricot',
    'apron',
    'aquarium',
    'arctic_(type_of_shoe)',
    'armband',
    'armchair',
    'armoire',
    'armor',
    'army_tank',
    'artichoke',
    'ashtray',
    'asparagus',
    'atomizer',
    'automatic_washer',
    'avocado',
    'award',
    'awning',
    'ax',
    'baboon',
    'baby_buggy',
    'backpack',
    'bagel',
    'baguet',
    'bait',
    'ball',
    'ballet_skirt',
    'balloon',
    'bamboo',
    'banana',
    'bandage',
    'bandanna',
    'banjo',
    'banner',
    'barbell',
    'barge',
    'barrel',
    'barrow',
    'baseball',
    'baseball_bat',
    'baseball_cap',
    'baseball_glove',
    'basket',
    'basketball',
    'basketball_backboard',
    'bass_horn',
    'bat_(animal)',
    'bath_mat',
    'bath_towel',
    'bathrobe',
    'bathtub',
    'battery',
    'beachball',
    'bead',
    'beanbag',
    'beanie',
    'bear',
    'bed',
    'bedpan',
    'bedspread',
    'beef_(food)',
    'beeper',
    'beer_bottle',
    'beer_can',
    'beetle',
    'bell',
    'bell_pepper',
    'belt',
    'belt_buckle',
    'bench',
    'beret',
    'bicycle',
    'billboard',
    'binder',
    'binoculars',
    'bird',
    'birdbath',
    'birdcage',
    'birdfeeder',
    'birdhouse',
    'birthday_cake',
    'birthday_card',
    'blackberry',
    'blackboard',
    'blanket',
    'blazer',
    'blender',
    'blimp',
    'blouse',
    'blueberry',
    'boat',
    'bob',
    'bobbin',
    'boiled_egg',
    'bolo_tie',
    'bolt',
    'bonnet',
    'book',
    'bookcase',
    'booklet',
    'bookmark',
    'boom_microphone',
    'boot',
    'bottle',
    'bottle_cap',
    'bottle_opener',
    'bouquet',
    'bow-tie',
    'bow_(decorative_ribbons)',
    'bow_(weapon)',
    'bowl',
    'bowler_hat',
    'bowling_ball',
    'box',
    'boxing_glove',
    'bracelet',
    'brass_plaque',
    'brassiere',
    'bread',
    'bread-bin',
    'breechcloth',
    'bridal_gown',
    'briefcase',
    'broach',
    'broccoli',
    'broom',
    'brownie',
    'brussels_sprouts',
    'bubble_gum',
    'bucket',
    'bulldog',
    'bulldozer',
    'bullet_train',
    'bulletin_board',
    'bulletproof_vest',
    'bullhorn',
    'bun',
    'bunk_bed',
    'buoy',
    'burrito',
    'bus_(vehicle)',
    'business_card',
    'butter',
    'butterfly',
    'button',
    'cab_(taxi)',
    'cabana',
    'cabin_car',
    'cabinet',
    'cake',
    'calculator',
    'calendar',
    'calf',
    'camcorder',
    'camel',
    'camera',
    'camera_lens',
    'camper_(vehicle)',
    'can',
    'can_opener',
    'candle',
    'candle_holder',
    'candy_bar',
    'candy_cane',
    'canister',
    'canoe',
    'cantaloup',
    'canteen',
    'cap_(headwear)',
    'cape',
    'cappuccino',
    'car_(automobile)',
    'car_battery',
    'card',
    'cardigan',
    'cargo_ship',
    'carnation',
    'carrot',
    'cart',
    'carton',
    'cash_register',
    'casserole',
    'cassette',
    'cast',
    'cat',
    'cauliflower',
    'cayenne_(spice)',
    'celery',
    'cellular_telephone',
    'chair',
    'chaise_longue',
    'chalice',
    'chandelier',
    'checkbook',
    'checkerboard',
    'cherry',
    'chessboard',
    'chicken_(animal)',
    'chili_(vegetable)',
    'chime',
    'chinaware',
    'chocolate_bar',
    'chocolate_cake',
    'chocolate_milk',
    'chocolate_mousse',
    'choker',
    'chopping_board',
    'chopstick',
    'cider',
    'cigar_box',
    'cigarette',
    'cigarette_case',
    'cincture',
    'cistern',
    'clarinet',
    'clasp',
    'cleansing_agent',
    'cleat_(for_securing_rope)',
    'clementine',
    'clip',
    'clipboard',
    'clippers_(for_plants)',
    'cloak',
    'clock',
    'clock_tower',
    'clothes_hamper',
    'clothespin',
    'clutch_bag',
    'coaster',
    'coat',
    'coat_hanger',
    'coatrack',
    'cock',
    'cockroach',
    'cocoa_(beverage)',
    'coconut',
    'coffee_maker',
    'coffee_table',
    'coffeepot',
    'coil',
    'coin',
    'colander',
    'coloring_material',
    'combination_lock',
    'comic_book',
    'compass',
    'computer_keyboard',
    'condiment',
    'cone',
    'control',
    'convertible_(automobile)',
    'cooker',
    'cookie',
    'cooking_utensil',
    'cooler_(for_food)',
    'cork_(bottle_plug)',
    'corkboard',
    'corkscrew',
    'cornbread',
    'cornet',
    'cornice',
    'cornmeal',
    'corset',
    'costume',
    'cougar',
    'cover',
    'coverall',
    'cow',
    'cowbell',
    'cowboy_hat',
    'crab_(animal)',
    'crabmeat',
    'cracker',
    'crape',
    'crate',
    'crawfish',
    'crayon',
    'cream_pitcher',
    'crescent_roll',
    'crib',
    'crisp_(potato_chip)',
    'crossbar',
    'crouton',
    'crow',
    'crowbar',
    'crown',
    'crucifix',
    'cruise_ship',
    'crutch',
    'cub_(animal)',
    'cube',
    'cucumber',
    'cufflink',
    'cup',
    'cupboard',
    'cupcake',
    'curtain',
    'cushion',
    'cylinder',
    'cymbal',
    'dagger',
    'dalmatian',
    'dartboard',
    'date_(fruit)',
    'deadbolt',
    'deck_chair',
    'deer',
    'desk',
    'detergent',
    'diaper',
    'diary',
    'die',
    'dinghy',
    'dining_table',
    'dirt_bike',
    'dish',
    'dish_antenna',
    'dishrag',
    'dishtowel',
    'dishwasher',
    'dishwasher_detergent',
    'dispenser',
    'dog',
    'dog_collar',
    'doll',
    'dollar',
    'dollhouse',
    'dolphin',
    'domestic_ass',
    'doorknob',
    'doormat',
    'doughnut',
    'dove',
    'dragonfly',
    'drawer',
    'dress',
    'dress_hat',
    'dress_suit',
    'dresser',
    'drill',
    'drone',
    'drum_(musical_instrument)',
    'drumstick',
    'duck',
    'duckling',
    'duct_tape',
    'duffel_bag',
    'dumbbell',
    'dumpster',
    'dustpan',
    'eagle',
    'earphone',
    'earplug',
    'earring',
    'easel',
    'eclair',
    'edible_corn',
    'eel',
    'egg',
    'egg_roll',
    'egg_yolk',
    'eggbeater',
    'eggplant',
    'elephant',
    'elevator_car',
    'elk',
    'envelope',
    'eraser',
    'escargot',
    'eyepatch',
    'falcon',
    'fan',
    'faucet',
    'fedora',
    'ferret',
    'ferry',
    'fig_(fruit)',
    'fighter_jet',
    'figurine',
    'file_(tool)',
    'file_cabinet',
    'fire_alarm',
    'fire_engine',
    'fire_extinguisher',
    'fire_hose',
    'fireplace',
    'fireplug',
    'first-aid_kit',
    'fish',
    'fish_(food)',
    'fishbowl',
    'fishing_rod',
    'flag',
    'flagpole',
    'flamingo',
    'flannel',
    'flap',
    'flash',
    'flashlight',
    'fleece',
    'flip-flop_(sandal)',
    'flipper_(footwear)',
    'flower_arrangement',
    'flowerpot',
    'flute_glass',
    'foal',
    'folding_chair',
    'food_processor',
    'football_(American)',
    'football_helmet',
    'footstool',
    'fork',
    'forklift',
    'freight_car',
    'freshener',
    'frisbee',
    'frog',
    'fruit_juice',
    'frying_pan',
    'fume_hood',
    'funnel',
    'futon',
    'gameboard',
    'garbage',
    'garbage_truck',
    'garden_hose',
    'gargle',
    'gargoyle',
    'garlic',
    'gasmask',
    'gazelle',
    'gelatin',
    'gemstone',
    'generator',
    'giant_panda',
    'gift_wrap',
    'ginger',
    'giraffe',
    'glass_(drink_container)',
    'globe',
    'glove',
    'goat',
    'goggles',
    'goldfish',
    'golf_club',
    'golfcart',
    'gondola_(boat)',
    'goose',
    'gorilla',
    'gourd',
    'grape',
    'grater',
    'gravestone',
    'gravy_boat',
    'green_bean',
    'green_onion',
    'grill',
    'grits',
    'grizzly',
    'grocery_bag',
    'guitar',
    'gull',
    'gun',
    'hair_dryer',
    'hairbrush',
    'hairnet',
    'halter_top',
    'ham',
    'hamburger',
    'hammer',
    'hammock',
    'hamper',
    'hamster',
    'hand_glass',
    'hand_towel',
    'handbag',
    'handcart',
    'handcuff',
    'handkerchief',
    'handle',
    'handsaw',
    'hardback_book',
    'harmonium',
    'hat',
    'hatbox',
    'headband',
    'headboard',
    'headlight',
    'headscarf',
    'headset',
    'headstall_(for_horses)',
    'heart',
    'heater',
    'helicopter',
    'helmet',
    'heron',
    'highchair',
    'hinge',
    'hippopotamus',
    'hockey_stick',
    'hog',
    'honey',
    'hook',
    'hookah',
    'horned_cow',
    'hornet',
    'horse',
    'horse_buggy',
    'horse_carriage',
    'hose',
    'hot-air_balloon',
    'hot_sauce',
    'hotplate',
    'hourglass',
    'houseboat',
    'hummingbird',
    'iPod',
    'ice_maker',
    'ice_pack',
    'ice_skate',
    'icecream',
    'identity_card',
    'igniter',
    'inhaler',
    'inkpad',
    'iron_(for_clothing)',
    'ironing_board',
    'jacket',
    'jam',
    'jar',
    'jean',
    'jeep',
    'jersey',
    'jet_plane',
    'jewel',
    'jewelry',
    'joystick',
    'jumpsuit',
    'kayak',
    'keg',
    'kennel',
    'kettle',
    'key',
    'keycard',
    'kilt',
    'kimono',
    'kitchen_sink',
    'kitchen_table',
    'kite',
    'kitten',
    'kiwi_fruit',
    'knee_pad',
    'knife',
    'knitting_needle',
    'knob',
    'knocker_(on_a_door)',
    'koala',
    'lab_coat',
    'ladder',
    'ladle',
    'ladybug',
    'lamb-chop',
    'lamb_(animal)',
    'lamp',
    'lamppost',
    'lampshade',
    'lantern',
    'laptop_computer',
    'lasagna',
    'latch',
    'lawn_mower',
    'leather',
    'legging_(clothing)',
    'legume',
    'lemon',
    'lemonade',
    'lettuce',
    'license_plate',
    'life_buoy',
    'life_jacket',
    'lightbulb',
    'lightning_rod',
    'lime',
    'limousine',
    'lion',
    'lip_balm',
    'liquor',
    'lizard',
    'locker',
    'log',
    'lollipop',
    'loveseat',
    'machine_gun',
    'magazine',
    'magnet',
    'mail_slot',
    'mailbox_(at_home)',
    'mallard',
    'mallet',
    'mammoth',
    'manatee',
    'mandarin_orange',
    'manger',
    'manhole',
    'map',
    'marker',
    'martini',
    'mascot',
    'mashed_potato',
    'mask',
    'mast',
    'mat_(gym_equipment)',
    'matchbox',
    'mattress',
    'measuring_cup',
    'measuring_stick',
    'meatball',
    'medicine',
    'melon',
    'microphone',
    'microscope',
    'microwave_oven',
    'milestone',
    'milk',
    'milk_can',
    'milkshake',
    'minivan',
    'mint_candy',
    'mirror',
    'mitten',
    'mixer_(kitchen_tool)',
    'money',
    'monitor_(computer_equipment) computer_monitor',
    'monkey',
    'mop',
    'motor',
    'motor_scooter',
    'motor_vehicle',
    'motorcycle',
    'mound_(baseball)',
    'mouse_(computer_equipment)',
    'mousepad',
    'muffin',
    'mug',
    'mushroom',
    'music_stool',
    'musical_instrument',
    'nailfile',
    'napkin',
    'neckerchief',
    'necklace',
    'necktie',
    'needle',
    'nest',
    'newspaper',
    'newsstand',
    'nightshirt',
    'notebook',
    'notepad',
    'nut',
    'nutcracker',
    'oar',
    'octopus_(animal)',
    'octopus_(food)',
    'oil_lamp',
    'olive_oil',
    'omelet',
    'onion',
    'orange_(fruit)',
    'orange_juice',
    'ostrich',
    'ottoman',
    'oven',
    'overalls_(clothing)',
    'owl',
    'pacifier',
    'packet',
    'paddle',
    'padlock',
    'paintbrush',
    'painting',
    'pajamas',
    'palette',
    'pan_(for_cooking)',
    'pan_(metal_container)',
    'pancake',
    'papaya',
    'paper_plate',
    'paper_towel',
    'paperback_book',
    'paperweight',
    'parachute',
    'parakeet',
    'parasail_(sports)',
    'parasol',
    'parchment',
    'parka',
    'parking_meter',
    'parrot',
    'passenger_car_(part_of_a_train)',
    'passenger_ship',
    'passport',
    'pastry',
    'patty_(food)',
    'pea_(food)',
    'peach',
    'peanut_butter',
    'pear',
    'peeler_(tool_for_fruit_and_vegetables)',
    'pegboard',
    'pelican',
    'pen',
    'pencil',
    'pencil_box',
    'pencil_sharpener',
    'pendulum',
    'penguin',
    'pennant',
    'penny_(coin)',
    'pepper',
    'pepper_mill',
    'perfume',
    'persimmon',
    'person',
    'pet',
    'pew_(church_bench)',
    'phonebook',
    'phonograph_record',
    'piano',
    'pickle',
    'pickup_truck',
    'pie',
    'pigeon',
    'piggy_bank',
    'pillow',
    'pineapple',
    'pinecone',
    'ping-pong_ball',
    'pinwheel',
    'pipe',
    'pipe_bowl',
    'pirate_flag',
    'pistol',
    'pita_(bread)',
    'pitcher_(vessel_for_liquid)',
    'pitchfork',
    'pizza',
    'place_mat',
    'plastic_bag',
    'plate',
    'platter',
    'playpen',
    'pliers',
    'plow_(farm_equipment)',
    'plume',
    'pocket_watch',
    'pocketknife',
    'poker_(fire_stirring_tool)',
    'poker_chip',
    'polar_bear',
    'pole',
    'police_cruiser',
    'polo_shirt',
    'poncho',
    'pony',
    'pool_table',
    'pop_(soda)',
    'popsicle',
    'postbox_(public)',
    'postcard',
    'poster',
    'pot',
    'potato',
    'potholder',
    'pottery',
    'pouch',
    'power_shovel',
    'prawn',
    'pretzel',
    'printer',
    'projectile_(weapon)',
    'projector',
    'propeller',
    'prune',
    'pudding',
    'puffer_(fish)',
    'puffin',
    'pug-dog',
    'pumpkin',
    'puncher',
    'puppet',
    'puppy',
    'quesadilla',
    'quiche',
    'quilt',
    'rabbit',
    'race_car',
    'racket',
    'radar',
    'radiator',
    'radio_receiver',
    'radish',
    'raft',
    'rag_doll',
    'railcar_(part_of_a_train)',
    'raincoat',
    'ram_(animal)',
    'raspberry',
    'rat',
    'reamer_(juicer)',
    'rearview_mirror',
    'receipt',
    'recliner',
    'record_player',
    'reflector',
    'refrigerator',
    'remote_control',
    'rhinoceros',
    'rib_(food)',
    'rifle',
    'ring',
    'river_boat',
    'road_map',
    'robe',
    'rocking_chair',
    'rodent',
    'roller_skate',
    'rolling_pin',
    'root_beer',
    'router_(computer_equipment)',
    'rubber_band',
    'runner_(carpet)',
    'saddle_(on_an_animal)',
    'saddle_blanket',
    'saddlebag',
    'safety_pin',
    'sail',
    'salad',
    'salad_plate',
    'salami',
    'salmon_(fish)',
    'salmon_(food)',
    'salsa',
    'saltshaker',
    'sandal_(type_of_shoe)',
    'sandwich',
    'satchel',
    'saucepan',
    'saucer',
    'sausage',
    'sawhorse',
    'saxophone',
    'scale_(measuring_instrument)',
    'scarecrow',
    'scarf',
    'school_bus',
    'scissors',
    'scoreboard',
    'scraper',
    'screwdriver',
    'scrubbing_brush',
    'sculpture',
    'seabird',
    'seahorse',
    'seaplane',
    'seashell',
    'sewing_machine',
    'shaker',
    'shampoo',
    'shark',
    'sharpener',
    'shaver_(electric)',
    'shaving_cream',
    'shawl',
    'shears',
    'sheep',
    'shepherd_dog',
    'sherbert',
    'shield',
    'shirt',
    'shoe',
    'shopping_bag',
    'shopping_cart',
    'short_pants',
    'shot_glass',
    'shoulder_bag',
    'shovel',
    'shower_cap',
    'shower_curtain',
    'shower_head',
    'shredder_(for_paper)',
    'signboard',
    'silo',
    'sink',
    'skateboard',
    'skewer',
    'ski',
    'ski_boot',
    'ski_parka',
    'ski_pole',
    'skirt',
    'skullcap',
    'sled',
    'sleeping_bag',
    'slide',
    'slipper_(footwear)',
    'smoothie',
    'snake',
    'snowboard',
    'snowman',
    'snowmobile',
    'soap',
    'soccer_ball',
    'sock',
    'sofa',
    'sofa_bed',
    'softball',
    'solar_array',
    'sombrero',
    'soup',
    'soup_bowl',
    'soupspoon',
    'soya_milk',
    'space_shuttle',
    'sparkler_(fireworks)',
    'spatula',
    'speaker_(stero_equipment)',
    'spear',
    'spectacles',
    'spice_rack',
    'spider',
    'sponge',
    'spoon',
    'sportswear',
    'spotlight',
    'squid_(food)',
    'squirrel',
    'stagecoach',
    'stapler_(stapling_machine)',
    'starfish',
    'statue_(sculpture)',
    'steak_(food)',
    'steak_knife',
    'steering_wheel',
    'step_stool',
    'stepladder',
    'stereo_(sound_system)',
    'stew',
    'stirrer',
    'stirrup',
    'stool',
    'stop_sign',
    'stove',
    'strainer',
    'strap',
    'straw_(for_drinking)',
    'strawberry',
    'street_sign',
    'streetlight',
    'string_cheese',
    'stylus',
    'subwoofer',
    'sugar_bowl',
    'sugarcane_(plant)',
    'suit_(clothing)',
    'suitcase',
    'sunflower',
    'sunglasses',
    'sunhat',
    'surfboard',
    'sushi',
    'suspenders',
    'sweat_pants',
    'sweatband',
    'sweater',
    'sweatshirt',
    'sweet_potato',
    'swimsuit',
    'sword',
    'syringe',
    'table',
    'table-tennis_table',
    'table_lamp',
    'tablecloth',
    'tachometer',
    'taco',
    'tag',
    'taillight',
    'tambourine',
    'tank_(storage_vessel)',
    'tank_top_(clothing)',
    'tape_(sticky_cloth_or_paper)',
    'tape_measure',
    'tapestry',
    'tarp',
    'tartan',
    'tassel',
    'teacup',
    'teakettle',
    'teapot',
    'teddy_bear',
    'telephone',
    'telephone_booth',
    'telephone_pole',
    'telephoto_lens',
    'television_camera',
    'television_set',
    'tennis_ball',
    'tennis_racket',
    'tequila',
    'thermometer',
    'thermos_bottle',
    'thermostat',
    'thimble',
    'thread',
    'thumbtack',
    'tiara',
    'tiger',
    'tights_(clothing)',
    'timer',
    'tinfoil',
    'tinsel',
    'tissue_paper',
    'toast_(food)',
    'toaster',
    'toaster_oven',
    'tobacco_pipe',
    'toilet',
    'toilet_tissue',
    'tomato',
    'tongs',
    'toolbox',
    'toothbrush',
    'toothpaste',
    'toothpick',
    'tortilla',
    'tote_bag',
    'tow_truck',
    'towel',
    'towel_rack',
    'toy',
    'tractor_(farm_equipment)',
    'traffic_light',
    'trailer_truck',
    'train_(railroad_vehicle)',
    'trampoline',
    'trash_can',
    'tray',
    'trench_coat',
    'triangle_(musical_instrument)',
    'tricycle',
    'tripod',
    'trophy_cup',
    'trousers',
    'truck',
    'truffle_(chocolate)',
    'trunk',
    'turban',
    'turkey_(food)',
    'turnip',
    'turtle',
    'turtleneck_(clothing)',
    'tux',
    'typewriter',
    'umbrella',
    'underdrawers',
    'underwear',
    'unicycle',
    'urinal',
    'urn',
    'vacuum_cleaner',
    'vase',
    'veil',
    'vending_machine',
    'vent',
    'vest',
    'videotape',
    'vinegar',
    'violin',
    'visor',
    'vodka',
    'volleyball',
    'vulture',
    'waffle',
    'waffle_iron',
    'wagon',
    'wagon_wheel',
    'walking_cane',
    'walking_stick',
    'wall_clock',
    'wall_socket',
    'wallet',
    'walrus',
    'wardrobe',
    'washbasin',
    'watch',
    'water_bottle',
    'water_cooler',
    'water_faucet',
    'water_gun',
    'water_heater',
    'water_jug',
    'water_scooter',
    'water_ski',
    'water_tower',
    'watering_can',
    'watermelon',
    'weathervane',
    'webcam',
    'wedding_cake',
    'wedding_ring',
    'wet_suit',
    'wheel',
    'wheelchair',
    'whipped_cream',
    'wig',
    'wind_chime',
    'windmill',
    'window_box_(for_plants)',
    'windsock',
    'wine_bottle',
    'wine_bucket',
    'wineglass',
    'wok',
    'wolf',
    'wooden_leg',
    'wooden_spoon',
    'wreath',
    'wrench',
    'wristband',
    'wristlet',
    'yacht',
    'yogurt',
    'zebra',
    'zucchini'
]