最近在学习《Deep learning with pytorch》,跟着b站的一个up主敲代码,本篇内容对应这个视频大佬带你啃透【深度学习与pytorch】官方权威书籍 P4。
因为我是轻薄本,所以选择在colab上进行的实验,如果你的电脑内存够,配置也ok是可以直接在自己电脑上运行的。
一下进入正题:
使用Alexnet和resnet101对imageNet进行训练。(因为内存原因,我用的imagenet-mini)
我是从kaggel中直接引入数据集,这里使用的是容量较小的Imagenetmini(4.24 GB)。
首先需要安装kaggle:
pip install kaggle
接着我们需要登录kaggle,这里需要在kaggle上获得一个token,具体操作如下:
1.点击右上角,并点击“Account"进入你的账户:
2.选择”Create New API Token",下载你的token文件,我的是下载到了本地/下载路径下
3.找到你的文件后,我们接下来就需要用这个token文件登录了:
输入以下代码,会出现一个允许你上传文件的地方,此时上传刚刚的“kaggle.json”文件就可以了。
from google.colab import files
files.upload()
#加载文件
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
现在就完成了登录,接下来我们来获取数据集:
回到数据集介绍页,选择“Copy API command",数据集的下载命令就复制到你的粘贴板了。
#从kaggle中获得下载数据集指令
!kaggle datasets download -d ifigotin/imagenetmini-1000
#解压文件
!unzip imagenetmini-1000
解压完成后,我们可以随机选择一张图片,来检验我们的训练效果:
#Pillow是Python的图像处理模块,用它来加载图片
from PIL import Image
#这里的img是我随机选的一个
img = Image.open("/content/imagenet-mini/val/n01440764/ILSVRC2012_val_00009111.JPEG")
img
又一个小tips,文件的路径简单获取方式:先择这里的“复制路径”就可以了。
img_labels={
"0": ["tench", "Tinca tinca"],
"1": ["goldfish", "Carassius auratus"],
"2": ["great white shark", "white shark", "man-eater", "man-eating shark", "Carcharodon carcharias"],
"3": ["tiger shark", "Galeocerdo cuvieri"],
"4": ["hammerhead", "hammerhead shark"],
"5": ["electric ray", "crampfish", "numbfish", "torpedo"],
"6": ["stingray"],
"7": ["cock"],
"8": ["hen"],
"9": ["ostrich", "Struthio camelus"],
"10": ["brambling", "Fringilla montifringilla"],
"11": ["goldfinch", "Carduelis carduelis"],
"12": ["house finch", "linnet", "Carpodacus mexicanus"],
"13": ["junco", "snowbird"],
"14": ["indigo bunting", "indigo finch", "indigo bird", "Passerina cyanea"],
"15": ["robin", "American robin", "Turdus migratorius"],
"16": ["bulbul"],
"17": ["jay"],
"18": ["magpie"],
"19": ["chickadee"],
"20": ["water ouzel", "dipper"],
"21": ["kite"],
"22": ["bald eagle", "American eagle", "Haliaeetus leucocephalus"],
"23": ["vulture"],
"24": ["great grey owl", "great gray owl", "Strix nebulosa"],
"25": ["European fire salamander", "Salamandra salamandra"],
"26": ["common newt", "Triturus vulgaris"],
"27": ["eft"],
"28": ["spotted salamander", "Ambystoma maculatum"],
"29": ["axolotl", "mud puppy", "Ambystoma mexicanum"],
"30": ["bullfrog", "Rana catesbeiana"],
"31": ["tree frog", "tree-frog"],
"32": ["tailed frog", "bell toad", "ribbed toad", "tailed toad", "Ascaphus trui"],
"33": ["loggerhead", "loggerhead turtle", "Caretta caretta"],
"34": ["leatherback turtle", "leatherback", "leathery turtle", "Dermochelys coriacea"],
"35": ["mud turtle"],
"36": ["terrapin"],
"37": ["box turtle", "box tortoise"],
"38": ["banded gecko"],
"39": ["common iguana", "iguana", "Iguana iguana"],
"40": ["American chameleon", "anole", "Anolis carolinensis"],
"41": ["whiptail", "whiptail lizard"],
"42": ["agama"],
"43": ["frilled lizard", "Chlamydosaurus kingi"],
"44": ["alligator lizard"],
"45": ["Gila monster", "Heloderma suspectum"],
"46": ["green lizard", "Lacerta viridis"],
"47": ["African chameleon", "Chamaeleo chamaeleon"],
"48": ["Komodo dragon", "Komodo lizard", "dragon lizard", "giant lizard", "Varanus komodoensis"],
"49": ["African crocodile", "Nile crocodile", "Crocodylus niloticus"],
"50": ["American alligator", "Alligator mississipiensis"],
"51": ["triceratops"],
"52": ["thunder snake", "worm snake", "Carphophis amoenus"],
"53": ["ringneck snake", "ring-necked snake", "ring snake"],
"54": ["hognose snake", "puff adder", "sand viper"],
"55": ["green snake", "grass snake"],
"56": ["king snake", "kingsnake"],
"57": ["garter snake", "grass snake"],
"58": ["water snake"],
"59": ["vine snake"],
"60": ["night snake", "Hypsiglena torquata"],
"61": ["boa constrictor", "Constrictor constrictor"],
"62": ["rock python", "rock snake", "Python sebae"],
"63": ["Indian cobra", "Naja naja"],
"64": ["green mamba"],
"65": ["sea snake"],
"66": ["horned viper", "cerastes", "sand viper", "horned asp", "Cerastes cornutus"],
"67": ["diamondback", "diamondback rattlesnake", "Crotalus adamanteus"],
"68": ["sidewinder", "horned rattlesnake", "Crotalus cerastes"],
"69": ["trilobite"],
"70": ["harvestman", "daddy longlegs", "Phalangium opilio"],
"71": ["scorpion"],
"72": ["black and gold garden spider", "Argiope aurantia"],
"73": ["barn spider", "Araneus cavaticus"],
"74": ["garden spider", "Aranea diademata"],
"75": ["black widow", "Latrodectus mactans"],
"76": ["tarantula"],
"77": ["wolf spider", "hunting spider"],
"78": ["tick"],
"79": ["centipede"],
"80": ["black grouse"],
"81": ["ptarmigan"],
"82": ["ruffed grouse", "partridge", "Bonasa umbellus"],
"83": ["prairie chicken", "prairie grouse", "prairie fowl"],
"84": ["peacock"],
"85": ["quail"],
"86": ["partridge"],
"87": ["African grey", "African gray", "Psittacus erithacus"],
"88": ["macaw"],
"89": ["sulphur-crested cockatoo", "Kakatoe galerita", "Cacatua galerita"],
"90": ["lorikeet"],
"91": ["coucal"],
"92": ["bee eater"],
"93": ["hornbill"],
"94": ["hummingbird"],
"95": ["jacamar"],
"96": ["toucan"],
"97": ["drake"],
"98": ["red-breasted merganser", "Mergus serrator"],
"99": ["goose"],
"100": ["black swan", "Cygnus atratus"],
"101": ["tusker"],
"102": ["echidna", "spiny anteater", "anteater"],
"103": ["platypus", "duckbill", "duckbilled platypus", "duck-billed platypus", "Ornithorhynchus anatinus"],
"104": ["wallaby", "brush kangaroo"],
"105": ["koala", "koala bear", "kangaroo bear", "native bear", "Phascolarctos cinereus"],
"106": ["wombat"],
"107": ["jellyfish"],
"108": ["sea anemone", "anemone"],
"109": ["brain coral"],
"110": ["flatworm", "platyhelminth"],
"111": ["nematode", "nematode worm", "roundworm"],
"112": ["conch"],
"113": ["snail"],
"114": ["slug"],
"115": ["sea slug", "nudibranch"],
"116": ["chiton", "coat-of-mail shell", "sea cradle", "polyplacophore"],
"117": ["chambered nautilus", "pearly nautilus", "nautilus"],
"118": ["Dungeness crab", "Cancer magister"],
"119": ["rock crab", "Cancer irroratus"],
"120": ["fiddler crab"],
"121": ["king crab", "Alaska crab", "Alaskan king crab", "Alaska king crab", "Paralithodes camtschatica"],
"122": ["American lobster", "Northern lobster", "Maine lobster", "Homarus americanus"],
"123": ["spiny lobster", "langouste", "rock lobster", "crawfish", "crayfish", "sea crawfish"],
"124": ["crayfish", "crawfish", "crawdad", "crawdaddy"],
"125": ["hermit crab"],
"126": ["isopod"],
"127": ["white stork", "Ciconia ciconia"],
"128": ["black stork", "Ciconia nigra"],
"129": ["spoonbill"],
"130": ["flamingo"],
"131": ["little blue heron", "Egretta caerulea"],
"132": ["American egret", "great white heron", "Egretta albus"],
"133": ["bittern"],
"134": ["crane"],
"135": ["limpkin", "Aramus pictus"],
"136": ["European gallinule", "Porphyrio porphyrio"],
"137": ["American coot", "marsh hen", "mud hen", "water hen", "Fulica americana"],
"138": ["bustard"],
"139": ["ruddy turnstone", "Arenaria interpres"],
"140": ["red-backed sandpiper", "dunlin", "Erolia alpina"],
"141": ["redshank", "Tringa totanus"],
"142": ["dowitcher"],
"143": ["oystercatcher", "oyster catcher"],
"144": ["pelican"],
"145": ["king penguin", "Aptenodytes patagonica"],
"146": ["albatross", "mollymawk"],
"147": ["grey whale", "gray whale", "devilfish", "Eschrichtius gibbosus", "Eschrichtius robustus"],
"148": ["killer whale", "killer", "orca", "grampus", "sea wolf", "Orcinus orca"],
"149": ["dugong", "Dugong dugon"],
"150": ["sea lion"],
"151": ["Chihuahua"],
"152": ["Japanese spaniel"],
"153": ["Maltese dog", "Maltese terrier", "Maltese"],
"154": ["Pekinese", "Pekingese", "Peke"],
"155": ["Shih-Tzu"],
"156": ["Blenheim spaniel"],
"157": ["papillon"],
"158": ["toy terrier"],
"159": ["Rhodesian ridgeback"],
"160": ["Afghan hound", "Afghan"],
"161": ["basset", "basset hound"],
"162": ["beagle"],
"163": ["bloodhound", "sleuthhound"],
"164": ["bluetick"],
"165": ["black-and-tan coonhound"],
"166": ["Walker hound", "Walker foxhound"],
"167": ["English foxhound"],
"168": ["redbone"],
"169": ["borzoi", "Russian wolfhound"],
"170": ["Irish wolfhound"],
"171": ["Italian greyhound"],
"172": ["whippet"],
"173": ["Ibizan hound", "Ibizan Podenco"],
"174": ["Norwegian elkhound", "elkhound"],
"175": ["otterhound", "otter hound"],
"176": ["Saluki", "gazelle hound"],
"177": ["Scottish deerhound", "deerhound"],
"178": ["Weimaraner"],
"179": ["Staffordshire bullterrier", "Staffordshire bull terrier"],
"180": ["American Staffordshire terrier", "Staffordshire terrier", "American pit bull terrier", "pit bull terrier"],
"181": ["Bedlington terrier"],
"182": ["Border terrier"],
"183": ["Kerry blue terrier"],
"184": ["Irish terrier"],
"185": ["Norfolk terrier"],
"186": ["Norwich terrier"],
"187": ["Yorkshire terrier"],
"188": ["wire-haired fox terrier"],
"189": ["Lakeland terrier"],
"190": ["Sealyham terrier", "Sealyham"],
"191": ["Airedale", "Airedale terrier"],
"192": ["cairn", "cairn terrier"],
"193": ["Australian terrier"],
"194": ["Dandie Dinmont", "Dandie Dinmont terrier"],
"195": ["Boston bull", "Boston terrier"],
"196": ["miniature schnauzer"],
"197": ["giant schnauzer"],
"198": ["standard schnauzer"],
"199": ["Scotch terrier", "Scottish terrier", "Scottie"],
"200": ["Tibetan terrier", "chrysanthemum dog"],
"201": ["silky terrier", "Sydney silky"],
"202": ["soft-coated wheaten terrier"],
"203": ["West Highland white terrier"],
"204": ["Lhasa", "Lhasa apso"],
"205": ["flat-coated retriever"],
"206": ["curly-coated retriever"],
"207": ["golden retriever"],
"208": ["Labrador retriever"],
"209": ["Chesapeake Bay retriever"],
"210": ["German short-haired pointer"],
"211": ["vizsla", "Hungarian pointer"],
"212": ["English setter"],
"213": ["Irish setter", "red setter"],
"214": ["Gordon setter"],
"215": ["Brittany spaniel"],
"216": ["clumber", "clumber spaniel"],
"217": ["English springer", "English springer spaniel"],
"218": ["Welsh springer spaniel"],
"219": ["cocker spaniel", "English cocker spaniel", "cocker"],
"220": ["Sussex spaniel"],
"221": ["Irish water spaniel"],
"222": ["kuvasz"],
"223": ["schipperke"],
"224": ["groenendael"],
"225": ["malinois"],
"226": ["briard"],
"227": ["kelpie"],
"228": ["komondor"],
"229": ["Old English sheepdog", "bobtail"],
"230": ["Shetland sheepdog", "Shetland sheep dog", "Shetland"],
"231": ["collie"],
"232": ["Border collie"],
"233": ["Bouvier des Flandres", "Bouviers des Flandres"],
"234": ["Rottweiler"],
"235": ["German shepherd", "German shepherd dog", "German police dog", "alsatian"],
"236": ["Doberman", "Doberman pinscher"],
"237": ["miniature pinscher"],
"238": ["Greater Swiss Mountain dog"],
"239": ["Bernese mountain dog"],
"240": ["Appenzeller"],
"241": ["EntleBucher"],
"242": ["boxer"],
"243": ["bull mastiff"],
"244": ["Tibetan mastiff"],
"245": ["French bulldog"],
"246": ["Great Dane"],
"247": ["Saint Bernard", "St Bernard"],
"248": ["Eskimo dog", "husky"],
"249": ["malamute", "malemute", "Alaskan malamute"],
"250": ["Siberian husky"],
"251": ["dalmatian", "coach dog", "carriage dog"],
"252": ["affenpinscher", "monkey pinscher", "monkey dog"],
"253": ["basenji"],
"254": ["pug", "pug-dog"],
"255": ["Leonberg"],
"256": ["Newfoundland", "Newfoundland dog"],
"257": ["Great Pyrenees"],
"258": ["Samoyed", "Samoyede"],
"259": ["Pomeranian"],
"260": ["chow", "chow chow"],
"261": ["keeshond"],
"262": ["Brabancon griffon"],
"263": ["Pembroke", "Pembroke Welsh corgi"],
"264": ["Cardigan", "Cardigan Welsh corgi"],
"265": ["toy poodle"],
"266": ["miniature poodle"],
"267": ["standard poodle"],
"268": ["Mexican hairless"],
"269": ["timber wolf", "grey wolf", "gray wolf", "Canis lupus"],
"270": ["white wolf", "Arctic wolf", "Canis lupus tundrarum"],
"271": ["red wolf", "maned wolf", "Canis rufus", "Canis niger"],
"272": ["coyote", "prairie wolf", "brush wolf", "Canis latrans"],
"273": ["dingo", "warrigal", "warragal", "Canis dingo"],
"274": ["dhole", "Cuon alpinus"],
"275": ["African hunting dog", "hyena dog", "Cape hunting dog", "Lycaon pictus"],
"276": ["hyena", "hyaena"],
"277": ["red fox", "Vulpes vulpes"],
"278": ["kit fox", "Vulpes macrotis"],
"279": ["Arctic fox", "white fox", "Alopex lagopus"],
"280": ["grey fox", "gray fox", "Urocyon cinereoargenteus"],
"281": ["tabby", "tabby cat"],
"282": ["tiger cat"],
"283": ["Persian cat"],
"284": ["Siamese cat", "Siamese"],
"285": ["Egyptian cat"],
"286": ["cougar", "puma", "catamount", "mountain lion", "painter", "panther", "Felis concolor"],
"287": ["lynx", "catamount"],
"288": ["leopard", "Panthera pardus"],
"289": ["snow leopard", "ounce", "Panthera uncia"],
"290": ["jaguar", "panther", "Panthera onca", "Felis onca"],
"291": ["lion", "king of beasts", "Panthera leo"],
"292": ["tiger", "Panthera tigris"],
"293": ["cheetah", "chetah", "Acinonyx jubatus"],
"294": ["brown bear", "bruin", "Ursus arctos"],
"295": ["American black bear", "black bear", "Ursus americanus", "Euarctos americanus"],
"296": ["ice bear", "polar bear", "Ursus Maritimus", "Thalarctos maritimus"],
"297": ["sloth bear", "Melursus ursinus", "Ursus ursinus"],
"298": ["mongoose"],
"299": ["meerkat", "mierkat"],
"300": ["tiger beetle"],
"301": ["ladybug", "ladybeetle", "lady beetle", "ladybird", "ladybird beetle"],
"302": ["ground beetle", "carabid beetle"],
"303": ["long-horned beetle", "longicorn", "longicorn beetle"],
"304": ["leaf beetle", "chrysomelid"],
"305": ["dung beetle"],
"306": ["rhinoceros beetle"],
"307": ["weevil"],
"308": ["fly"],
"309": ["bee"],
"310": ["ant", "emmet", "pismire"],
"311": ["grasshopper", "hopper"],
"312": ["cricket"],
"313": ["walking stick", "walkingstick", "stick insect"],
"314": ["cockroach", "roach"],
"315": ["mantis", "mantid"],
"316": ["cicada", "cicala"],
"317": ["leafhopper"],
"318": ["lacewing", "lacewing fly"],
"319": ["dragonfly", "darning needle", "devil's darning needle", "sewing needle", "snake feeder", "snake doctor", "mosquito hawk", "skeeter hawk"],
"320": ["damselfly"],
"321": ["admiral"],
"322": ["ringlet", "ringlet butterfly"],
"323": ["monarch", "monarch butterfly", "milkweed butterfly", "Danaus plexippus"],
"324": ["cabbage butterfly"],
"325": ["sulphur butterfly", "sulfur butterfly"],
"326": ["lycaenid", "lycaenid butterfly"],
"327": ["starfish", "sea star"],
"328": ["sea urchin"],
"329": ["sea cucumber", "holothurian"],
"330": ["wood rabbit", "cottontail", "cottontail rabbit"],
"331": ["hare"],
"332": ["Angora", "Angora rabbit"],
"333": ["hamster"],
"334": ["porcupine", "hedgehog"],
"335": ["fox squirrel", "eastern fox squirrel", "Sciurus niger"],
"336": ["marmot"],
"337": ["beaver"],
"338": ["guinea pig", "Cavia cobaya"],
"339": ["sorrel"],
"340": ["zebra"],
"341": ["hog", "pig", "grunter", "squealer", "Sus scrofa"],
"342": ["wild boar", "boar", "Sus scrofa"],
"343": ["warthog"],
"344": ["hippopotamus", "hippo", "river horse", "Hippopotamus amphibius"],
"345": ["ox"],
"346": ["water buffalo", "water ox", "Asiatic buffalo", "Bubalus bubalis"],
"347": ["bison"],
"348": ["ram", "tup"],
"349": ["bighorn", "bighorn sheep", "cimarron", "Rocky Mountain bighorn", "Rocky Mountain sheep", "Ovis canadensis"],
"350": ["ibex", "Capra ibex"],
"351": ["hartebeest"],
"352": ["impala", "Aepyceros melampus"],
"353": ["gazelle"],
"354": ["Arabian camel", "dromedary", "Camelus dromedarius"],
"355": ["llama"],
"356": ["weasel"],
"357": ["mink"],
"358": ["polecat", "fitch", "foulmart", "foumart", "Mustela putorius"],
"359": ["black-footed ferret", "ferret", "Mustela nigripes"],
"360": ["otter"],
"361": ["skunk", "polecat", "wood pussy"],
"362": ["badger"],
"363": ["armadillo"],
"364": ["three-toed sloth", "ai", "Bradypus tridactylus"],
"365": ["orangutan", "orang", "orangutang", "Pongo pygmaeus"],
"366": ["gorilla", "Gorilla gorilla"],
"367": ["chimpanzee", "chimp", "Pan troglodytes"],
"368": ["gibbon", "Hylobates lar"],
"369": ["siamang", "Hylobates syndactylus", "Symphalangus syndactylus"],
"370": ["guenon", "guenon monkey"],
"371": ["patas", "hussar monkey", "Erythrocebus patas"],
"372": ["baboon"],
"373": ["macaque"],
"374": ["langur"],
"375": ["colobus", "colobus monkey"],
"376": ["proboscis monkey", "Nasalis larvatus"],
"377": ["marmoset"],
"378": ["capuchin", "ringtail", "Cebus capucinus"],
"379": ["howler monkey", "howler"],
"380": ["titi", "titi monkey"],
"381": ["spider monkey", "Ateles geoffroyi"],
"382": ["squirrel monkey", "Saimiri sciureus"],
"383": ["Madagascar cat", "ring-tailed lemur", "Lemur catta"],
"384": ["indri", "indris", "Indri indri", "Indri brevicaudatus"],
"385": ["Indian elephant", "Elephas maximus"],
"386": ["African elephant", "Loxodonta africana"],
"387": ["lesser panda", "red panda", "panda", "bear cat", "cat bear", "Ailurus fulgens"],
"388": ["giant panda", "panda", "panda bear", "coon bear", "Ailuropoda melanoleuca"],
"389": ["barracouta", "snoek"],
"390": ["eel"],
"391": ["coho", "cohoe", "coho salmon", "blue jack", "silver salmon", "Oncorhynchus kisutch"],
"392": ["rock beauty", "Holocanthus tricolor"],
"393": ["anemone fish"],
"394": ["sturgeon"],
"395": ["gar", "garfish", "garpike", "billfish", "Lepisosteus osseus"],
"396": ["lionfish"],
"397": ["puffer", "pufferfish", "blowfish", "globefish"],
"398": ["abacus"],
"399": ["abaya"],
"400": ["academic gown", "academic robe", "judge's robe"],
"401": ["accordion", "piano accordion", "squeeze box"],
"402": ["acoustic guitar"],
"403": ["aircraft carrier", "carrier", "flattop", "attack aircraft carrier"],
"404": ["airliner"],
"405": ["airship", "dirigible"],
"406": ["altar"],
"407": ["ambulance"],
"408": ["amphibian", "amphibious vehicle"],
"409": ["analog clock"],
"410": ["apiary", "bee house"],
"411": ["apron"],
"412": ["ashcan", "trash can", "garbage can", "wastebin", "ash bin", "ash-bin", "ashbin", "dustbin", "trash barrel", "trash bin"],
"413": ["assault rifle", "assault gun"],
"414": ["backpack", "back pack", "knapsack", "packsack", "rucksack", "haversack"],
"415": ["bakery", "bakeshop", "bakehouse"],
"416": ["balance beam", "beam"],
"417": ["balloon"],
"418": ["ballpoint", "ballpoint pen", "ballpen", "Biro"],
"419": ["Band Aid"],
"420": ["banjo"],
"421": ["bannister", "banister", "balustrade", "balusters", "handrail"],
"422": ["barbell"],
"423": ["barber chair"],
"424": ["barbershop"],
"425": ["barn"],
"426": ["barometer"],
"427": ["barrel", "cask"],
"428": ["barrow", "garden cart", "lawn cart", "wheelbarrow"],
"429": ["baseball"],
"430": ["basketball"],
"431": ["bassinet"],
"432": ["bassoon"],
"433": ["bathing cap", "swimming cap"],
"434": ["bath towel"],
"435": ["bathtub", "bathing tub", "bath", "tub"],
"436": ["beach wagon", "station wagon", "wagon", "estate car", "beach waggon", "station waggon", "waggon"],
"437": ["beacon", "lighthouse", "beacon light", "pharos"],
"438": ["beaker"],
"439": ["bearskin", "busby", "shako"],
"440": ["beer bottle"],
"441": ["beer glass"],
"442": ["bell cote", "bell cot"],
"443": ["bib"],
"444": ["bicycle-built-for-two", "tandem bicycle", "tandem"],
"445": ["bikini", "two-piece"],
"446": ["binder", "ring-binder"],
"447": ["binoculars", "field glasses", "opera glasses"],
"448": ["birdhouse"],
"449": ["boathouse"],
"450": ["bobsled", "bobsleigh", "bob"],
"451": ["bolo tie", "bolo", "bola tie", "bola"],
"452": ["bonnet", "poke bonnet"],
"453": ["bookcase"],
"454": ["bookshop", "bookstore", "bookstall"],
"455": ["bottlecap"],
"456": ["bow"],
"457": ["bow tie", "bow-tie", "bowtie"],
"458": ["brass", "memorial tablet", "plaque"],
"459": ["brassiere", "bra", "bandeau"],
"460": ["breakwater", "groin", "groyne", "mole", "bulwark", "seawall", "jetty"],
"461": ["breastplate", "aegis", "egis"],
"462": ["broom"],
"463": ["bucket", "pail"],
"464": ["buckle"],
"465": ["bulletproof vest"],
"466": ["bullet train", "bullet"],
"467": ["butcher shop", "meat market"],
"468": ["cab", "hack", "taxi", "taxicab"],
"469": ["caldron", "cauldron"],
"470": ["candle", "taper", "wax light"],
"471": ["cannon"],
"472": ["canoe"],
"473": ["can opener", "tin opener"],
"474": ["cardigan"],
"475": ["car mirror"],
"476": ["carousel", "carrousel", "merry-go-round", "roundabout", "whirligig"],
"477": ["carpenter's kit", "tool kit"],
"478": ["carton"],
"479": ["car wheel"],
"480": ["cash machine", "cash dispenser", "automated teller machine", "automatic teller machine", "automated teller", "automatic teller", "ATM"],
"481": ["cassette"],
"482": ["cassette player"],
"483": ["castle"],
"484": ["catamaran"],
"485": ["CD player"],
"486": ["cello", "violoncello"],
"487": ["cellular telephone", "cellular phone", "cellphone", "cell", "mobile phone"],
"488": ["chain"],
"489": ["chainlink fence"],
"490": ["chain mail", "ring mail", "mail", "chain armor", "chain armour", "ring armor", "ring armour"],
"491": ["chain saw", "chainsaw"],
"492": ["chest"],
"493": ["chiffonier", "commode"],
"494": ["chime", "bell", "gong"],
"495": ["china cabinet", "china closet"],
"496": ["Christmas stocking"],
"497": ["church", "church building"],
"498": ["cinema", "movie theater", "movie theatre", "movie house", "picture palace"],
"499": ["cleaver", "meat cleaver", "chopper"],
"500": ["cliff dwelling"],
"501": ["cloak"],
"502": ["clog", "geta", "patten", "sabot"],
"503": ["cocktail shaker"],
"504": ["coffee mug"],
"505": ["coffeepot"],
"506": ["coil", "spiral", "volute", "whorl", "helix"],
"507": ["combination lock"],
"508": ["computer keyboard", "keypad"],
"509": ["confectionery", "confectionary", "candy store"],
"510": ["container ship", "containership", "container vessel"],
"511": ["convertible"],
"512": ["corkscrew", "bottle screw"],
"513": ["cornet", "horn", "trumpet", "trump"],
"514": ["cowboy boot"],
"515": ["cowboy hat", "ten-gallon hat"],
"516": ["cradle"],
"517": ["crane"],
"518": ["crash helmet"],
"519": ["crate"],
"520": ["crib", "cot"],
"521": ["Crock Pot"],
"522": ["croquet ball"],
"523": ["crutch"],
"524": ["cuirass"],
"525": ["dam", "dike", "dyke"],
"526": ["desk"],
"527": ["desktop computer"],
"528": ["dial telephone", "dial phone"],
"529": ["diaper", "nappy", "napkin"],
"530": ["digital clock"],
"531": ["digital watch"],
"532": ["dining table", "board"],
"533": ["dishrag", "dishcloth"],
"534": ["dishwasher", "dish washer", "dishwashing machine"],
"535": ["disk brake", "disc brake"],
"536": ["dock", "dockage", "docking facility"],
"537": ["dogsled", "dog sled", "dog sleigh"],
"538": ["dome"],
"539": ["doormat", "welcome mat"],
"540": ["drilling platform", "offshore rig"],
"541": ["drum", "membranophone", "tympan"],
"542": ["drumstick"],
"543": ["dumbbell"],
"544": ["Dutch oven"],
"545": ["electric fan", "blower"],
"546": ["electric guitar"],
"547": ["electric locomotive"],
"548": ["entertainment center"],
"549": ["envelope"],
"550": ["espresso maker"],
"551": ["face powder"],
"552": ["feather boa", "boa"],
"553": ["file", "file cabinet", "filing cabinet"],
"554": ["fireboat"],
"555": ["fire engine", "fire truck"],
"556": ["fire screen", "fireguard"],
"557": ["flagpole", "flagstaff"],
"558": ["flute", "transverse flute"],
"559": ["folding chair"],
"560": ["football helmet"],
"561": ["forklift"],
"562": ["fountain"],
"563": ["fountain pen"],
"564": ["four-poster"],
"565": ["freight car"],
"566": ["French horn", "horn"],
"567": ["frying pan", "frypan", "skillet"],
"568": ["fur coat"],
"569": ["garbage truck", "dustcart"],
"570": ["gasmask", "respirator", "gas helmet"],
"571": ["gas pump", "gasoline pump", "petrol pump", "island dispenser"],
"572": ["goblet"],
"573": ["go-kart"],
"574": ["golf ball"],
"575": ["golfcart", "golf cart"],
"576": ["gondola"],
"577": ["gong", "tam-tam"],
"578": ["gown"],
"579": ["grand piano", "grand"],
"580": ["greenhouse", "nursery", "glasshouse"],
"581": ["grille", "radiator grille"],
"582": ["grocery store", "grocery", "food market", "market"],
"583": ["guillotine"],
"584": ["hair slide"],
"585": ["hair spray"],
"586": ["half track"],
"587": ["hammer"],
"588": ["hamper"],
"589": ["hand blower", "blow dryer", "blow drier", "hair dryer", "hair drier"],
"590": ["hand-held computer", "hand-held microcomputer"],
"591": ["handkerchief", "hankie", "hanky", "hankey"],
"592": ["hard disc", "hard disk", "fixed disk"],
"593": ["harmonica", "mouth organ", "harp", "mouth harp"],
"594": ["harp"],
"595": ["harvester", "reaper"],
"596": ["hatchet"],
"597": ["holster"],
"598": ["home theater", "home theatre"],
"599": ["honeycomb"],
"600": ["hook", "claw"],
"601": ["hoopskirt", "crinoline"],
"602": ["horizontal bar", "high bar"],
"603": ["horse cart", "horse-cart"],
"604": ["hourglass"],
"605": ["iPod"],
"606": ["iron", "smoothing iron"],
"607": ["jack-o'-lantern"],
"608": ["jean", "blue jean", "denim"],
"609": ["jeep", "landrover"],
"610": ["jersey", "T-shirt", "tee shirt"],
"611": ["jigsaw puzzle"],
"612": ["jinrikisha", "ricksha", "rickshaw"],
"613": ["joystick"],
"614": ["kimono"],
"615": ["knee pad"],
"616": ["knot"],
"617": ["lab coat", "laboratory coat"],
"618": ["ladle"],
"619": ["lampshade", "lamp shade"],
"620": ["laptop", "laptop computer"],
"621": ["lawn mower", "mower"],
"622": ["lens cap", "lens cover"],
"623": ["letter opener", "paper knife", "paperknife"],
"624": ["library"],
"625": ["lifeboat"],
"626": ["lighter", "light", "igniter", "ignitor"],
"627": ["limousine", "limo"],
"628": ["liner", "ocean liner"],
"629": ["lipstick", "lip rouge"],
"630": ["Loafer"],
"631": ["lotion"],
"632": ["loudspeaker", "speaker", "speaker unit", "loudspeaker system", "speaker system"],
"633": ["loupe", "jeweler's loupe"],
"634": ["lumbermill", "sawmill"],
"635": ["magnetic compass"],
"636": ["mailbag", "postbag"],
"637": ["mailbox", "letter box"],
"638": ["maillot"],
"639": ["maillot", "tank suit"],
"640": ["manhole cover"],
"641": ["maraca"],
"642": ["marimba", "xylophone"],
"643": ["mask"],
"644": ["matchstick"],
"645": ["maypole"],
"646": ["maze", "labyrinth"],
"647": ["measuring cup"],
"648": ["medicine chest", "medicine cabinet"],
"649": ["megalith", "megalithic structure"],
"650": ["microphone", "mike"],
"651": ["microwave", "microwave oven"],
"652": ["military uniform"],
"653": ["milk can"],
"654": ["minibus"],
"655": ["miniskirt", "mini"],
"656": ["minivan"],
"657": ["missile"],
"658": ["mitten"],
"659": ["mixing bowl"],
"660": ["mobile home", "manufactured home"],
"661": ["Model T"],
"662": ["modem"],
"663": ["monastery"],
"664": ["monitor"],
"665": ["moped"],
"666": ["mortar"],
"667": ["mortarboard"],
"668": ["mosque"],
"669": ["mosquito net"],
"670": ["motor scooter", "scooter"],
"671": ["mountain bike", "all-terrain bike", "off-roader"],
"672": ["mountain tent"],
"673": ["mouse", "computer mouse"],
"674": ["mousetrap"],
"675": ["moving van"],
"676": ["muzzle"],
"677": ["nail"],
"678": ["neck brace"],
"679": ["necklace"],
"680": ["nipple"],
"681": ["notebook", "notebook computer"],
"682": ["obelisk"],
"683": ["oboe", "hautboy", "hautbois"],
"684": ["ocarina", "sweet potato"],
"685": ["odometer", "hodometer", "mileometer", "milometer"],
"686": ["oil filter"],
"687": ["organ", "pipe organ"],
"688": ["oscilloscope", "scope", "cathode-ray oscilloscope", "CRO"],
"689": ["overskirt"],
"690": ["oxcart"],
"691": ["oxygen mask"],
"692": ["packet"],
"693": ["paddle", "boat paddle"],
"694": ["paddlewheel", "paddle wheel"],
"695": ["padlock"],
"696": ["paintbrush"],
"697": ["pajama", "pyjama", "pj's", "jammies"],
"698": ["palace"],
"699": ["panpipe", "pandean pipe", "syrinx"],
"700": ["paper towel"],
"701": ["parachute", "chute"],
"702": ["parallel bars", "bars"],
"703": ["park bench"],
"704": ["parking meter"],
"705": ["passenger car", "coach", "carriage"],
"706": ["patio", "terrace"],
"707": ["pay-phone", "pay-station"],
"708": ["pedestal", "plinth", "footstall"],
"709": ["pencil box", "pencil case"],
"710": ["pencil sharpener"],
"711": ["perfume", "essence"],
"712": ["Petri dish"],
"713": ["photocopier"],
"714": ["pick", "plectrum", "plectron"],
"715": ["pickelhaube"],
"716": ["picket fence", "paling"],
"717": ["pickup", "pickup truck"],
"718": ["pier"],
"719": ["piggy bank", "penny bank"],
"720": ["pill bottle"],
"721": ["pillow"],
"722": ["ping-pong ball"],
"723": ["pinwheel"],
"724": ["pirate", "pirate ship"],
"725": ["pitcher", "ewer"],
"726": ["plane", "carpenter's plane", "woodworking plane"],
"727": ["planetarium"],
"728": ["plastic bag"],
"729": ["plate rack"],
"730": ["plow", "plough"],
"731": ["plunger", "plumber's helper"],
"732": ["Polaroid camera", "Polaroid Land camera"],
"733": ["pole"],
"734": ["police van", "police wagon", "paddy wagon", "patrol wagon", "wagon", "black Maria"],
"735": ["poncho"],
"736": ["pool table", "billiard table", "snooker table"],
"737": ["pop bottle", "soda bottle"],
"738": ["pot", "flowerpot"],
"739": ["potter's wheel"],
"740": ["power drill"],
"741": ["prayer rug", "prayer mat"],
"742": ["printer"],
"743": ["prison", "prison house"],
"744": ["projectile", "missile"],
"745": ["projector"],
"746": ["puck", "hockey puck"],
"747": ["punching bag", "punch bag", "punching ball", "punchball"],
"748": ["purse"],
"749": ["quill", "quill pen"],
"750": ["quilt", "comforter", "comfort", "puff"],
"751": ["racer", "race car", "racing car"],
"752": ["racket", "racquet"],
"753": ["radiator"],
"754": ["radio", "wireless"],
"755": ["radio telescope", "radio reflector"],
"756": ["rain barrel"],
"757": ["recreational vehicle", "RV", "R.V."],
"758": ["reel"],
"759": ["reflex camera"],
"760": ["refrigerator", "icebox"],
"761": ["remote control", "remote"],
"762": ["restaurant", "eating house", "eating place", "eatery"],
"763": ["revolver", "six-gun", "six-shooter"],
"764": ["rifle"],
"765": ["rocking chair", "rocker"],
"766": ["rotisserie"],
"767": ["rubber eraser", "rubber", "pencil eraser"],
"768": ["rugby ball"],
"769": ["rule", "ruler"],
"770": ["running shoe"],
"771": ["safe"],
"772": ["safety pin"],
"773": ["saltshaker", "salt shaker"],
"774": ["sandal"],
"775": ["sarong"],
"776": ["sax", "saxophone"],
"777": ["scabbard"],
"778": ["scale", "weighing machine"],
"779": ["school bus"],
"780": ["schooner"],
"781": ["scoreboard"],
"782": ["screen", "CRT screen"],
"783": ["screw"],
"784": ["screwdriver"],
"785": ["seat belt", "seatbelt"],
"786": ["sewing machine"],
"787": ["shield", "buckler"],
"788": ["shoe shop", "shoe-shop", "shoe store"],
"789": ["shoji"],
"790": ["shopping basket"],
"791": ["shopping cart"],
"792": ["shovel"],
"793": ["shower cap"],
"794": ["shower curtain"],
"795": ["ski"],
"796": ["ski mask"],
"797": ["sleeping bag"],
"798": ["slide rule", "slipstick"],
"799": ["sliding door"],
"800": ["slot", "one-armed bandit"],
"801": ["snorkel"],
"802": ["snowmobile"],
"803": ["snowplow", "snowplough"],
"804": ["soap dispenser"],
"805": ["soccer ball"],
"806": ["sock"],
"807": ["solar dish", "solar collector", "solar furnace"],
"808": ["sombrero"],
"809": ["soup bowl"],
"810": ["space bar"],
"811": ["space heater"],
"812": ["space shuttle"],
"813": ["spatula"],
"814": ["speedboat"],
"815": ["spider web", "spider's web"],
"816": ["spindle"],
"817": ["sports car", "sport car"],
"818": ["spotlight", "spot"],
"819": ["stage"],
"820": ["steam locomotive"],
"821": ["steel arch bridge"],
"822": ["steel drum"],
"823": ["stethoscope"],
"824": ["stole"],
"825": ["stone wall"],
"826": ["stopwatch", "stop watch"],
"827": ["stove"],
"828": ["strainer"],
"829": ["streetcar", "tram", "tramcar", "trolley", "trolley car"],
"830": ["stretcher"],
"831": ["studio couch", "day bed"],
"832": ["stupa", "tope"],
"833": ["submarine", "pigboat", "sub", "U-boat"],
"834": ["suit", "suit of clothes"],
"835": ["sundial"],
"836": ["sunglass"],
"837": ["sunglasses", "dark glasses", "shades"],
"838": ["sunscreen", "sunblock", "sun blocker"],
"839": ["suspension bridge"],
"840": ["swab", "swob", "mop"],
"841": ["sweatshirt"],
"842": ["swimming trunks", "bathing trunks"],
"843": ["swing"],
"844": ["switch", "electric switch", "electrical switch"],
"845": ["syringe"],
"846": ["table lamp"],
"847": ["tank", "army tank", "armored combat vehicle", "armoured combat vehicle"],
"848": ["tape player"],
"849": ["teapot"],
"850": ["teddy", "teddy bear"],
"851": ["television", "television system"],
"852": ["tennis ball"],
"853": ["thatch", "thatched roof"],
"854": ["theater curtain", "theatre curtain"],
"855": ["thimble"],
"856": ["thresher", "thrasher", "threshing machine"],
"857": ["throne"],
"858": ["tile roof"],
"859": ["toaster"],
"860": ["tobacco shop", "tobacconist shop", "tobacconist"],
"861": ["toilet seat"],
"862": ["torch"],
"863": ["totem pole"],
"864": ["tow truck", "tow car", "wrecker"],
"865": ["toyshop"],
"866": ["tractor"],
"867": ["trailer truck", "tractor trailer", "trucking rig", "rig", "articulated lorry", "semi"],
"868": ["tray"],
"869": ["trench coat"],
"870": ["tricycle", "trike", "velocipede"],
"871": ["trimaran"],
"872": ["tripod"],
"873": ["triumphal arch"],
"874": ["trolleybus", "trolley coach", "trackless trolley"],
"875": ["trombone"],
"876": ["tub", "vat"],
"877": ["turnstile"],
"878": ["typewriter keyboard"],
"879": ["umbrella"],
"880": ["unicycle", "monocycle"],
"881": ["upright", "upright piano"],
"882": ["vacuum", "vacuum cleaner"],
"883": ["vase"],
"884": ["vault"],
"885": ["velvet"],
"886": ["vending machine"],
"887": ["vestment"],
"888": ["viaduct"],
"889": ["violin", "fiddle"],
"890": ["volleyball"],
"891": ["waffle iron"],
"892": ["wall clock"],
"893": ["wallet", "billfold", "notecase", "pocketbook"],
"894": ["wardrobe", "closet", "press"],
"895": ["warplane", "military plane"],
"896": ["washbasin", "handbasin", "washbowl", "lavabo", "wash-hand basin"],
"897": ["washer", "automatic washer", "washing machine"],
"898": ["water bottle"],
"899": ["water jug"],
"900": ["water tower"],
"901": ["whiskey jug"],
"902": ["whistle"],
"903": ["wig"],
"904": ["window screen"],
"905": ["window shade"],
"906": ["Windsor tie"],
"907": ["wine bottle"],
"908": ["wing"],
"909": ["wok"],
"910": ["wooden spoon"],
"911": ["wool", "woolen", "woollen"],
"912": ["worm fence", "snake fence", "snake-rail fence", "Virginia fence"],
"913": ["wreck"],
"914": ["yawl"],
"915": ["yurt"],
"916": ["web site", "website", "internet site", "site"],
"917": ["comic book"],
"918": ["crossword puzzle", "crossword"],
"919": ["street sign"],
"920": ["traffic light", "traffic signal", "stoplight"],
"921": ["book jacket", "dust cover", "dust jacket", "dust wrapper"],
"922": ["menu"],
"923": ["plate"],
"924": ["guacamole"],
"925": ["consomme"],
"926": ["hot pot", "hotpot"],
"927": ["trifle"],
"928": ["ice cream", "icecream"],
"929": ["ice lolly", "lolly", "lollipop", "popsicle"],
"930": ["French loaf"],
"931": ["bagel", "beigel"],
"932": ["pretzel"],
"933": ["cheeseburger"],
"934": ["hotdog", "hot dog", "red hot"],
"935": ["mashed potato"],
"936": ["head cabbage"],
"937": ["broccoli"],
"938": ["cauliflower"],
"939": ["zucchini", "courgette"],
"940": ["spaghetti squash"],
"941": ["acorn squash"],
"942": ["butternut squash"],
"943": ["cucumber", "cuke"],
"944": ["artichoke", "globe artichoke"],
"945": ["bell pepper"],
"946": ["cardoon"],
"947": ["mushroom"],
"948": ["Granny Smith"],
"949": ["strawberry"],
"950": ["orange"],
"951": ["lemon"],
"952": ["fig"],
"953": ["pineapple", "ananas"],
"954": ["banana"],
"955": ["jackfruit", "jak", "jack"],
"956": ["custard apple"],
"957": ["pomegranate"],
"958": ["hay"],
"959": ["carbonara"],
"960": ["chocolate sauce", "chocolate syrup"],
"961": ["dough"],
"962": ["meat loaf", "meatloaf"],
"963": ["pizza", "pizza pie"],
"964": ["potpie"],
"965": ["burrito"],
"966": ["red wine"],
"967": ["espresso"],
"968": ["cup"],
"969": ["eggnog"],
"970": ["alp"],
"971": ["bubble"],
"972": ["cliff", "drop", "drop-off"],
"973": ["coral reef"],
"974": ["geyser"],
"975": ["lakeside", "lakeshore"],
"976": ["promontory", "headland", "head", "foreland"],
"977": ["sandbar", "sand bar"],
"978": ["seashore", "coast", "seacoast", "sea-coast"],
"979": ["valley", "vale"],
"980": ["volcano"],
"981": ["ballplayer", "baseball player"],
"982": ["groom", "bridegroom"],
"983": ["scuba diver"],
"984": ["rapeseed"],
"985": ["daisy"],
"986": ["yellow lady's slipper", "yellow lady-slipper", "Cypripedium calceolus", "Cypripedium parviflorum"],
"987": ["corn"],
"988": ["acorn"],
"989": ["hip", "rose hip", "rosehip"],
"990": ["buckeye", "horse chestnut", "conker"],
"991": ["coral fungus"],
"992": ["agaric"],
"993": ["gyromitra"],
"994": ["stinkhorn", "carrion fungus"],
"995": ["earthstar"],
"996": ["hen-of-the-woods", "hen of the woods", "Polyporus frondosus", "Grifola frondosa"],
"997": ["bolete"],
"998": ["ear", "spike", "capitulum"],
"999": ["toilet tissue", "toilet paper", "bathroom tissue"]
}
from torchvision import models
#查看文件夹里的内容(模型)
dir(models)
#为了在输入图像上运行AlexNet架构,我们可以创建AlexNet类的实例
alexnet = models.AlexNet()
#同理创建resnet实例,可以看到resnet的结构,书上说该模型之后还会详解,目前不用深究
resnet = models.resnet101(pretrained = True)
resnet
"""
我们必须对输入图像进行预处理,使它们的大小和它们的值(颜色)大致在相同的数值范围内。
为了做到这一点,torchvision模块提供了变换,使我们能够快速定义基本预处理功能的管道:
resize():定义图片的大小
centercrop():定义以图片中心为核心,向四周进行裁剪
totensor():将图片的颜色、高度、宽度转化为张量
normalize():对其RGB (红色、绿色、蓝色)分量进行归一化处理,使其具有定义的均值和标准差。
"""
from torchvision import transforms
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485,0.456,0.406],
std=[0.229,0.224,0.225]
)
])
img_t=preprocess(img)
img_t.shape
#放入模型都需要转化成4维张量。第一位是batch_size,第二位是图片色彩维度,后两位是图片尺寸
import torch
batch_t = torch.unsqueeze(img_t,0)
batch_t.shape
#为了进行推理,我们需要将网络置于eval模式:
resnet.eval()
#out为输出的结果,是一个张量
out=resnet(batch_t)
#它是一个1*1000的张量,第i个值对应该图片是第i个类型的可能(没有百分比化的,还不能直接用)
print("out.shape:"+str(out.shape))
out
#argmax就是得到最大值的序号索引
#out.argmax()就是在上文的1000个值中找到最大的可能,并获得它的序号索引,又因为返回的是张量,而我们只需要一个数值,tensor里可以用item()来取张量中的值。
label_result=str(out.argmax().item())
print("该图片的标签为:"+str(img_labels[label_result]))
print("out.sum():"+str(out.sum()))
#转化成:"该结果正确率为多少百分比的形式"
#我们需要确定前面得到的外张量中最大得分对应的指标。我们可以使用PyTorch中的max函数,它输出张量中的最大值以及最大值出现的索引:
_,index = torch.max(out,1)
percentage = torch.nn.functional.softmax(out,dim=1)[0]*100
print("percentage.sum():"+str(percentage.sum()))
print("该判断的正确率:"+str(percentage[index[0]].item()))
检验一下结果:
好吧,看起来感觉是一个物种。
同理,我们可以获得排名前5的推理结果:
#同理,我们可以获得排名前五的推理结果
_,indices = torch.sort(out,descending=True)
[(img_labels[str(idx.item())],percentage[idx].item()) for idx in indices[0][:5]]