J'ai récemment commencé à coder avec des techniques d'apprentissage automatique et je faisais des allers-retours entre l'apprentissage automatique implémenté sur différentes plateformes. Les frameworks avec lesquels j'ai beaucoup travaillé étaient Tensorflow (Python), Tensorflow.js et Brain.js. Et j'ai quelques doutes à leur sujet.
J'ai beaucoup cherché sur ces sujets. Et je n'ai pas encore de belle explication à mes doutes. Attendant donc une explication claire et détaillée :)
Les vitesses sont différentes: Tensorflow> tfjs> brainjs. Python peut être directement compilé en code machine et utiliser directement le CPU et le GPU, tandis que tfjs est un langage de script qui est en cours de compilation sur le client et doit utiliser le <canvas>
dans le navigateur pour accéder au GPU de la même manière que brain.js (je ne sais pas si brain.js est accéléré par le GPU)
Une autre chose est que tensorflow est un écosystème entier, qui est synchronisé avec chaque version différente pour les différentes plates-formes, il est donc très facile de porter votre modèle python (keras) sur tfjs et si vous savez coder un modèle tensorflow vous pouvez le faire dans n'importe quelle langue.
Et si vous utilisez nodejs, la seule raison de rester avec tfjs et de ne pas passer à python est que vous aimez mieux le langage JavaScript ou que vous êtes obligé d'utiliser parce que vous travaillez dans un backend JS .
PS: Une nouvelle bibliothèque vient d'être publiée ( ML5 ), qui est un wrapper pour tfjs et ajoute beaucoup de choses, ce qui vous aide à construire et à utiliser des modèles sans avoir une formation approfondie en machine learning.