web-dev-qa-db-fra.com

Apprentissage automatique: Tensorflow v / s Tensorflow.js v / s Brain.js

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.

  1. Pourquoi la plupart d'entre eux préfèrent-ils Tensorflow (Python) à Tensorflow.js. Qu'est-ce que Tensorflow a que Tensorflow.js n'a pas ce qui le rend spécial?
  2. La plupart des gens que j'ai vus sur Internet préfèrent travailler avec Tensorflow.js que brain.js, même si brain.js utilise des objets JSON qui ne mettent pas le développeur en difficulté pour créer des tenseurs et faire de la gestion de la mémoire et d'autres choses. Pourquoi les gens préfèrent-ils travailler avec Tensorflow.js alors que brain.js est facile à implémenter?
  3. Si je crée un site Web qui utilise Node.js comme backend, quelle serait la bibliothèque préférable à implémenter à long terme pour l'apprentissage automatique? Tensorflow.js ou Brain.js? ou devrais-je utiliser Tensorflow séparément uniquement pour les choses d'apprentissage automatique?

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 :)

18
Velan Salis

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.

19
Sebastian Speitel