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