Comment former un modèle dans TensorFlow.js sur des ensembles de données massifs (apprentissage hors noyau).

DEV - 01/03
Vous vous réveillez un jour et décidez : « Je vais créer un modèle d'apprentissage automatique ». Le premier jour,...

Vous vous réveillez un jour et décidez : « Je vais créer un modèle d'apprentissage automatique ».

Le premier jour, vous disposez d'un fichier JSON avec 100 entrées et 100 images WebP pour former un réseau neuronal convolutionnel (CNN) pour la détection. Vous lisez le JSON, chargez les 100 images, mettez le tout en mémoire (ce qui devrait consommer environ 100 Mo), et tout fonctionne parfaitement.

Au bout d'une semaine, vous avez pris beaucoup de photos et vos données ont été multipliées par 10. Désormais, avec 1 000 entrées, votre modèle fonctionne bien mieux. Mais ensuite, vous regardez votre gestionnaire de tâches et votre processus de formation Node.js consomme déjà 1 Go. Encore une fois, vous vous dites : "pas de problème, mon ordinateur a 16 Go de RAM", et vous continuez avec bonheur avec votre modèle.

Cependant... jusqu'où la mémoire peut-elle gérer ?

Après un mois de collecte d'images et de remplissage de votre JSON, vous tombez sur un fichier de 10 Go.fermeture éclairfichier de photos et des milliers d'entrées. Le modus operandi est le même : vous extrayez les fichiers dans le dossier habituel et exécutez le script de formation.

Kaboom !!!

Votre ordinateur se bloque, le ventilateur hurle et le processus épuise rapidement la RAM. Le résultat ? Le redoutable MOO (Out of Memory) qui fait planter votre script.

Vous pensez alors à deux alternatives : dépenser une fortune pour mettre à niveau votre configuration vers 64 Go de RAM et continuer votre vie, ou... vous demander : "existe-t-il un moyen de lire un fichier, d'entraîner le modèle dessus, de supprimer ce fichier de la mémoire et d'extraire le suivant, dans un cycle continu ?".

De cette façon, vous pourriez alimenter le modèle avec un ensemble de données qui ne tiendrait pas entièrement en mémoire via un flux continu (flux de do...
[Courte citation de 8% de l'article original]

Loading...