L’ensemble de données CIFAR-10 comprend 60000 images 32×32 ombrées dans 10 classes, avec 6000 images pour chaque classe. L’ensemble de données est divisé en cinq groupes de préparation et un groupe de test, chacun contenant 10 000 images. La grappe de test contient précisément 1000 images choisies au hasard dans chaque classe. Les groupes de préparation contiennent le reste des images des requêtes arbitraires, mais certains groupes de préparation peuvent contenir un plus grand nombre d’images d’une classe que d’une autre. Entre eux, les groupes de préparation contiennent précisément 5000 images de chaque classe.
Voici les classes de l’ensemble de données, ainsi que 10 images irrégulières de chacune d’entre elles : Il y a 50000 images de préparation et 10000 images d’essai.

Les classes ne sont pas du tout liées entre elles. Il n’y a pas de couverture parmi les véhicules et les camions. Le terme “voiture” englobe les véhicules, les SUV, les choses de ce genre. Le terme “camion” englobe uniquement les énormes camions. Les camionnettes ne sont pas non plus couvertes.
Résultats des modèles
Vous pouvez découvrir quelques résultats reproductibles sur cet ensemble de données sur la page des tâches de cuda-convnet. Ces résultats ont été obtenus à l’aide d’un système neuronal convolutif. Rapidement, ils sont de 18% d’erreur de test sans croissance d’information et de 11% avec. De plus, Jasper Snoek a un autre article dans lequel il a utilisé l’avancement des hyperparamètres bayésiens pour découvrir des réglages décents de la pourriture de poids et différents hyperparamètres, ce qui lui a permis d’obtenir une erreur de test de 15 % (sans augmentation de l’information) en utilisant l’ingénierie du réseau qui a obtenu 18 %.
Des résultats différents
Rodrigo Benenson a eu la bienveillance de rassembler des résultats sur CIFAR-10/100 et différents ensembles de données sur son site ; cliquez ici pour voir.
Conception de l’ensemble de données
Rendus Python/Matlab
Je vais décrire la conception de l’adaptation Python de l’ensemble de données. La conception de l’adaptation Matlab est indiscernable.
La chronique contient les documents data_batch_1, data_batch_2, …, data_batch_5, tout comme test_batch. Chacun de ces documents est un objet Python “guéri” livré avec cPickle. Voici une routine python2 qui va ouvrir un tel enregistrement et retourner une référence de mot :
def unpickle(fichier) :
importation cPickle
avec open(file, ‘rb’) comme fo :
dict = cPickle.load(fo)
retour dict
Et une version python3 :
def unpickle(fichier) :
importation de cornichons
avec open(file, ‘rb’) comme fo :
dict = pickle.load(fo, encodage=’bytes’)
retour dict
Empilées de cette manière, chacune des fiches du groupe contient une référence de mot avec les éléments qui l’accompagnent :
information – une exposition numpy 10000×3072 de uint8s. Chaque ligne de la grappe contient une image de 32×32 ombres. Les 1024 premières sections contiennent les estimations du canal rouge, les 1024 suivantes le vert, et les 1024 dernières le bleu. L’image est rangée en push significant request, avec l’objectif que les 32 premiers passages de l’exposition soient les estimations du canal rouge de la colonne principale de l’image.
les noms – une liste de 10000 numéros dans la gamme 0-9. Le numéro de la liste I indique la marque de la ième photo dans les informations sur l’exposition.
Formulaire double
Le formulaire double contient les documents data_batch_1.bin, data_batch_2.bin, …, data_batch_5.bin, tout comme test_batch.bin. Chacun de ces documents est conçu comme une poursuite :
<1 x étiquette><3072 x pixel>
…
<1 x étiquette><3072 x pixel>
En fin de compte, l’octet principal est le nom de l’image principale, qui est un nombre compris entre 0 et 9. Les 3072 octets suivants sont les estimations des pixels de l’image. Les 1024 octets initiaux sont les estimations du canal rouge, les 1024 suivants le vert, et les 1024 derniers le bleu. Les qualités sont mises de côté dans les requêtes push significatives, donc les 32 octets initiaux sont les estimations du canal rouge de la ligne primaire de l’image.
Chaque enregistrement contient 10000 “lignes” d’images de 3073 octets, bien qu’il n’y ait rien qui délimite les lignes. De cette façon, chaque enregistrement devrait en fait avoir une longueur de 307 à 30000 octets.
Il existe un autre enregistrement, appelé batches.meta.txt. Il s’agit d’un enregistrement ASCII qui associe des marques numériques comprises entre 0 et 9 à des noms de classe importants. Il s’agit d’un simple récapitulatif des 10 noms de classe, un pour chaque ligne. Le nom de classe sur le push I se rapporte à la marque numérique I.
L’ensemble de données CIFAR-100
Cet ensemble de données est très similaire à celui du CIFAR-10, à l’exception du fait qu’il comporte 100 classes contenant 600 images chacune. Il y a 500 images de préparation et 100 images d’essai pour chaque classe. Les 100 classes du CIFAR-100 sont regroupées en 20 superclasses. Chaque image est accompagnée d’une marque “fine” (la classe à laquelle elle appartient) et d’un nom “grossier” (la superclasse à laquelle elle appartient).
Voici le récapitulatif des classes du CIFAR-100 :
SuperclassClasses
mammifères amphibiens : castor , dauphin, loutre, phoque, baleine
poissons de fishaquarium , poissons plats, poutre, requin, truite
fleursorchides , coquelicots, roses, tournesols, tulipes
récipients alimentairesbouteilles , bols, bocaux, tasses, assiettes
produits du sol, champignons, oranges, poires, poivrons
unité familiale appareils électriquesréveil , console PC, lumière, téléphone, TV
unité familiale lit , siège, love seat, table, armoire
insecte abeille , scarabée, papillon, chenille, cafard
ours carnivore géant , panthère, lion, tigre, loup
énorme pont à ciel ouvert construit par l’homme, manoir, maison, rue, tour
d’énormes scènes régulières en plein air : nuages , forêts, montagnes, plaines, océans
d’énormes omnivores et herbivorescamel , bœufs, chimpanzé, éléphant, kangourou
Mammifères de taille moyenne : renard , porc-épic, opossum, raton laveur, mouffette
invertébrés non effrayants crabe , homard, escargot, arachnide, ver
peoplebaby , kid, young lady, man, lady
reptilescrocodile , dinosaure, reptile, serpent, tortue
petit mammifère , souris, lièvre, jeune fille, écureuil
érable , chêne, palmier, pin, saule
véhicules 1bicyclette , transport, croiseur, camionnette, train
véhicules 2lawn-cutter , fusée, tramway, citerne, tracteur