Tiny ImageNet là một tập con của ImageNet. Do ImageNet có kích thước quá lớn, việc huấn luyện có thể mất nhiều ngày, vì vậy chúng ta sẽ sử dụng Tiny ImageNet làm thay thế. Tuy nhiên, dự án MMPretrain được thiết kế để sử dụng ImageNet, do đó cần thực hiện một số thay đổi để có thể sử dụng Tiny ImageNet.
Trong file /mmpretrain/mmpretrain/datasets/imagenet.py, MMPretrain hỗ trợ hai định dạng cho tập dữ liệu ImageNet:
imagenet
├── train
│ ├──class_x
│ | ├── x1.jpg
│ | ├── x2.jpg
│ | └── ...
│ ├── class_y
│ | ├── y1.jpg
│ | ├── y2.jpg
│ | └── ...
│ └── ...
├── val
│ ├──class_x
│ | └── ...
│ ├── class_y
│ | └── ...
│ └── ...
└── test
├── test1.jpg
├── test2.jpg
└── ...
Hoặc:
imagenet
├── train
│ ├── x1.jpg
│ ├── y1.jpg
│ └── ...
├── val
│ ├── x3.jpg
│ ├── y3.jpg
│ └── ...
├── test
│ ├── test1.jpg
│ ├── test2.jpg
│ └── ...
└── meta
├── train.txt
└── val.txt
Bạn cần viết một chương trình Python nhỏ để chuyển đổi dữ liệu Tiny ImageNet đã giải nén sang một trong hai định dạng trên.
Tiếp theo, hãy sửa đổi file /mmpretrain/mmpretrain/datasets/categories.py bằng cách thêm tuple TINY_IMAGENET_CATEGORIES như sau:
TINY_IMAGENET_CATEGORIES = (
'Egyptian cat',
'reel',
'volleyball',
'rocking chair, rocker',
'lemon',
'bullfrog, Rana catesbeiana',
'basketball',
'cliff, drop, drop-off',
'espresso',
"plunger, plumber's helper",
'parking meter',
'German shepherd, German shepherd dog, German police dog, alsatian',
'dining table, board',
'monarch, monarch butterfly, milkweed butterfly, Danaus plexippus',
'brown bear, bruin, Ursus arctos',
'school bus',
'pizza, pizza pie',
'guinea pig, Cavia cobaya',
'umbrella',
'organ, pipe organ',
'oboe, hautboy, hautbois',
'maypole',
'goldfish, Carassius auratus',
'potpie',
'hourglass',
'seashore, coast, seacoast, sea-coast',
'computer keyboard, keypad',
'Arabian camel, dromedary, Camelus dromedarius',
'ice cream, icecream',
'nail',
'space heater',
'cardigan',
'baboon',
'snail',
'coral reef',
'albatross, mollymawk',
"spider web, spider's web",
'sea cucumber, holothurian',
'backpack, back pack, knapsack, packsack, rucksack, haversack',
'Labrador retriever',
'pretzel',
'king penguin, Aptenodytes patagonica',
'sulphur butterfly, sulfur butterfly',
'tarantula',
'lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens',
'pop bottle, soda bottle',
'banana',
'sock',
'cockroach, roach',
'projectile, missile',
'beer bottle',
'mantis, mantid',
'freight car',
'guacamole',
'remote control, remote',
'European fire salamander, Salamandra salamandra',
'lakeside, lakeshore',
'chimpanzee, chimp, Pan troglodytes',
'pay-phone, pay-station',
'fur coat',
'alp',
'lampshade, lamp shade',
'torch',
'abacus',
'moving van',
'barrel, cask',
'tabby, tabby cat',
'goose',
'koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus',
'bullet train, bullet',
'CD player',
'teapot',
'birdhouse',
'gazelle',
"academic gown, academic robe, judge's robe",
'tractor',
'ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle',
'miniskirt, mini',
'golden retriever',
'triumphal arch',
'cannon',
'neck brace',
'sombrero',
'gasmask, respirator, gas helmet',
'candle, taper, wax light',
'desk',
'frying pan, frypan, skillet',
'bee',
'dam, dike, dyke',
'spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish',
'police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria',
'iPod',
'punching bag, punch bag, punching ball, punchball',
'beacon, lighthouse, beacon light, pharos',
'jellyfish',
'wok',
'potter's wheel',
'sandal',
'pill bottle',
'butcher shop, meat market',
'slug',
'hog, pig, grunter, squealer, Sus scrofa',
'cougar, puma, catamount, mountain lion, painter, panther, Felis concolor',
'crane',
'vestment',
"dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk",
'cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM',
'mushroom',
'jinrikisha, ricksha, rickshaw',
'water tower',
'chest',
'snorkel',
'sunglasses, dark glasses, shades',
'fly',
'limousine, limo',
'black stork, Ciconia nigra',
'dugong, Dugong dugon',
'sports car, sport car',
'water jug',
'suspension bridge',
'ox',
'ice lolly, lolly, lollipop, popsicle',
'turnstile',
'Christmas stocking',
'broom',
'scorpion',
'wooden spoon',
'picket fence, paling',
'rugby ball',
'sewing machine',
'steel arch bridge',
'Persian cat',
'refrigerator, icebox',
'barn',
'apron',
'Yorkshire terrier',
'swimming trunks, bathing trunks',
'stopwatch, stop watch',
'lawn mower, mower',
'thatch, thatched roof',
'fountain',
'black widow, Latrodectus mactans',
'bikini, two-piece',
'plate',
'teddy, teddy bear',
'barbershop',
'confectionery, confectionary, candy store',
'beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon',
'scoreboard',
'orange',
'flagpole, flagstaff',
'American lobster, Northern lobster, Maine lobster, Homarus americanus',
'trolleybus, trolley coach, trackless trolley',
'drumstick',
'dumbbell',
'brass, memorial tablet, plaque',
'bow tie, bow-tie, bowtie',
'convertible',
'bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis',
'orangutan, orang, orangutang, Pongo pygmaeus',
'American alligator, Alligator mississipiensis',
'centipede',
'syringe',
'go-kart',
'brain coral',
'sea slug, nudibranch',
'cliff dwelling',
'mashed potato',
'viaduct',
'military uniform',
'pomegranate',
'chain',
'kimono',
'comic book',
'trilobite',
'bison',
'pole',
'boa constrictor, Constrictor constrictor',
'poncho',
'bathtub, bathing tub, bath, tub',
'grasshopper, hopper',
'walking stick, walkingstick, stick insect',
'Chihuahua',
'tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui',
'lion, king of beasts, Panthera leo',
'altar',
'obelisk',
'beaker',
'bell pepper',
'bannister, banister, balustrade, balusters, handrail',
'bucket, pail',
'magnetic compass',
'meat loaf, meatloaf',
'gondola',
'standard poodle',
'acorn',
'lifeboat',
'binoculars, field glasses, opera glasses',
'cauliflower',
'African elephant, Loxodonta africana')
Cuối cùng, trong các tệp cấu hình mô hình liên quan, hãy thay đổi giá trị num_classes từ 1000 thành 200. Sau đó, bạn có thể bắt đầu huấn luyện.