Entraînez un réseau sur plusieurs GPU
Pour réduire le temps d'entraînement, un réseau neuronal peut être entraîné sur un GPU au lieu d'un CPU. Wolfram Language prend désormais en charge l'entraînement du réseau neuronal à l'aide de plusieurs GPU (à partir d'une même machine), ce qui permet un entraînement encore plus rapide. L'exemple suivant illustre des entraînements sur un GPU Titan X 6 CPU et 4-NVIDIA.
Téléchargez un sous-ensemble du jeu de données d'entraînement CIFAR-10.
Téléchargez l'architecture de "Wolfram ImageIdentify Net V1" à partir de Wolfram Neural Net Repository.
Pré-traitez les données d'entrée en utilisant NetEncoder pour éviter les goulots d'étranglement lors du pré-traitement de la vitesse d'entraînement du réseau par la CPU.
Supprimez le NetEncoder devenu inutile et remplacez la tête de réseau et le NetDecoder final afin qu'ils correspondent aux classes du jeu de données.
Lancez l'entraînement sur la machine avec un CPU à 6 cœurs :
Cet entraînement a été effectué à une vitesse d'environ huit exemples par seconde.
Lancez l'entraînement sur un seul GPU (le quatrième, car il n'est pas recommandé d'utiliser le GPU responsable de l'affichage).
Cette fois-ci, l'entraînement a été effectué à une vitesse d'environ 200 exemples par seconde.
Lancez maintenant l'entraînement sur les quatre GPU.
La vitesse d'entraînement est maintenant d'environ 500 exemples par seconde.
Visualisez les trois vitesses d'entraînement qui ont été mesurées.