caffe
Objets de base Caffe - Solver, Net, Layer et Blob
Recherche…
Remarques
Un utilisateur caffe envoie des instructions pour effectuer des opérations spécifiques sur des objets Caffe. Ces objets interagissent les uns avec les autres en fonction de leurs spécifications de conception et exécutent les opérations. C'est un principe de base de la POO.
Bien qu'il existe de nombreux types d'objet caffe (ou classes C ++), pour commencer, nous nous concentrons sur 4 objets caffe importants. Notre objectif à ce stade est d'observer simplement l'interaction entre ces objets à un niveau très abstrait où les détails spécifiques de la mise en œuvre et de la conception sont obscurcis.
Les 4 objets caffe de base sont:
- Solveur
- Net
- Couche
- Goutte
Une introduction très basique et une vue d'ensemble de leur rôle dans le travail de Caffe est présentée dans des points concis dans la section des exemples.
Après avoir lu et obtenu une idée de base de la manière dont ces objets Caffé interagissent, chaque type d'objet peut être lu en détail dans leurs rubriques dédiées.
Comment ces objets interagissent ensemble.
Un utilisateur cherche à utiliser caffe pour la formation et les tests CNN. L'utilisateur décide de la conception de l'architecture CNN (par exemple: nombre de couches, nombre de filtres et leurs détails, etc.). L'utilisateur décide également de la technique d'optimisation des paramètres de formation et d'apprentissage au cas où une formation doit être effectuée. Si l'opération est un test simple, un modèle pré-formé est spécifié par l'utilisateur. En utilisant toutes ces informations, l'utilisateur instancie un objet Solver et fournit à l'objet Solver une instruction (qui détermine la ou les opérations telles que l'entraînement et les tests).
Solver : Cet objet peut être considéré comme une entité qui supervise la formation et les tests d'un CNN. C'est l'entrepreneur réel qui obtient un CNN sur le processeur et en cours d'exécution. Il est spécialisé dans la réalisation des optimisations spécifiques conduisant à la formation de CNN.
Net : Net peut être considéré comme un objet spécialisé qui représente le CNN réel sur lequel des opérations sont effectuées. Solver demande à Net d’allouer de la mémoire pour le CNN et de l’instancier. Net est également responsable de donner des instructions qui conduisent effectivement à la transmission ou à la propagande sur le réseau CNN.
Couche : C'est un objet qui représente une couche particulière d'un CNN. Ainsi, un CNN est constitué de couches. En ce qui concerne caffe, l'objet Net instancie chaque type de " couche " spécifié dans la définition de l'architecture et connecte également les différentes couches. Une couche spécifique exécute un ensemble spécifique d'opérations (p. Ex., Mise en commun maximale, regroupement min, convolution 2D, etc.).
Blob : les données transitent par un CNN pendant la formation et les tests. Outre les données utilisateur, ces données comprennent également plusieurs calculs intermédiaires exécutés sur CNN. Ces données sont encapsulées dans un objet appelé Blob.