Maison > interface Web > js tutoriel > Premiers pas avec l'apprentissage automatique en JavaScript : guide du débutant avec TensorFlow.js

Premiers pas avec l'apprentissage automatique en JavaScript : guide du débutant avec TensorFlow.js

Barbara Streisand
Libérer: 2024-09-25 12:18:18
original
512 Les gens l'ont consulté

Getting Started with Machine Learning in JavaScript: A Beginner’s Guide with TensorFlow.js

L'apprentissage automatique (ML) a rapidement transformé le monde du développement logiciel. Jusqu'à récemment, Python était le langage dominant dans l'espace ML, grâce à des bibliothèques comme TensorFlow et PyTorch. Mais avec l'essor de TensorFlow.js, les développeurs JavaScript peuvent désormais plonger dans le monde passionnant de l'apprentissage automatique, en utilisant une syntaxe familière pour créer et entraîner des modèles directement dans le navigateur ou sur Node.js.

Dans cet article de blog, nous explorerons comment vous pouvez démarrer avec l'apprentissage automatique à l'aide de JavaScript. Nous allons passer en revue un exemple de création et de formation d'un modèle simple à l'aide de TensorFlow.js.

Pourquoi TensorFlow.js ?

TensorFlow.js est une bibliothèque open source qui vous permet de définir, d'entraîner et d'exécuter des modèles d'apprentissage automatique entièrement en JavaScript. Il fonctionne à la fois dans le navigateur et sur Node.js, ce qui le rend incroyablement polyvalent pour un large éventail d'applications ML.

Voici quelques raisons pour lesquelles TensorFlow.js est passionnant :

  1. Formation en temps réel : Vous pouvez exécuter des modèles directement dans le navigateur, offrant une interactivité en temps réel.
  2. Multiplateforme : le même code peut s'exécuter à la fois sur les environnements serveur et client.
  3. Accélération matérielle : il utilise WebGL pour l'accélération GPU, ce qui accélère les calculs.

Voyons par où commencer !

1. Configuration de TensorFlow.js

Avant de plonger dans le code, vous devrez installer TensorFlow.js. Vous pouvez l'inclure dans votre projet via un <script> tag ou npm, selon votre environnement.</p> <h3> Configuration du navigateur </h3> <p>Pour utiliser TensorFlow.js dans le navigateur, incluez simplement le <script> balise dans votre fichier HTML :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/@tensorflow/tfjs&quot;&gt;&lt;/script&gt; </pre><div class="contentsignin">Copier après la connexion</div></div> <h3> Configuration de Node.js </h3> <p>Pour un environnement Node.js, vous pouvez l'installer en utilisant npm :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">npm install @tensorflow/tfjs </pre><div class="contentsignin">Copier après la connexion</div></div> <h2> 2. Construire un modèle de réseau neuronal simple </h2> <p>Créons un réseau neuronal simple qui prédit la sortie d'une fonction linéaire de base, y = 2x - 1. Nous utiliserons TensorFlow.js pour créer et entraîner ce modèle.</p> <h3> Étape 1 : Définir le modèle </h3> <p>Nous commencerons par définir un modèle séquentiel (une pile linéaire de couches) avec une couche dense :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// Import TensorFlow.js import * as tf from '@tensorflow/tfjs'; // Create a simple sequential model const model = tf.sequential(); // Add a single dense layer with 1 unit (neuron) model.add(tf.layers.dense({units: 1, inputShape: [1]})); </pre><div class="contentsignin">Copier après la connexion</div></div> <p>Ici, nous avons créé un modèle avec une couche dense. La couche a un neurone (unités : 1) et elle attend une seule fonctionnalité d'entrée (inputShape : [1]).</p> <h3> Étape 2 : Compiler le modèle </h3> <p>Ensuite, nous compilons le modèle en spécifiant l'optimiseur et la fonction de perte :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// Compile the model model.compile({ optimizer: 'sgd', // Stochastic Gradient Descent loss: 'meanSquaredError' // Loss function for regression }); </pre><div class="contentsignin">Copier après la connexion</div></div> <p>Nous utilisons l'optimiseur Stochastic Gradient Descent (SGD), qui est efficace pour les petits modèles. La fonction de perte, MeanSquaredError, est appropriée pour les tâches de régression comme celle-ci.</p> <h3> Étape 3 : préparer les données de formation </h3> <p>Nous allons maintenant créer des données d'entraînement pour la fonction y = 2x - 1. Dans TensorFlow.js, les données sont stockées dans des tenseurs (tableaux multidimensionnels). Voici comment nous pouvons générer des données d'entraînement :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// Generate some synthetic data for training const xs = tf.tensor2d([0, 1, 2, 3, 4], [5, 1]); // Inputs (x values) const ys = tf.tensor2d([1, 3, 5, 7, 9], [5, 1]); // Outputs (y values) </pre><div class="contentsignin">Copier après la connexion</div></div> <p>Dans ce cas, nous avons créé un tenseur xs avec des valeurs d'entrée (0, 1, 2, 3, 4) et un tenseur de sortie correspondant ys avec des valeurs calculées en utilisant y = 2x - 1.</p> <h3> Étape 4 : Former le modèle </h3> <p>Maintenant, nous pouvons entraîner le modèle sur nos données :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">// Train the model model.fit(xs, ys, {epochs: 500}).then(() =&gt; { // Once training is complete, use the model to make predictions model.predict(tf.tensor2d([5], [1, 1])).print(); // Output will be close to 2*5 - 1 = 9 }); </pre><div class="contentsignin">Copier après la connexion</div></div> <p>Ici, nous entraînons le modèle pendant 500 époques (itérations sur les données d'entraînement). Après la formation, nous utilisons le modèle pour prédire la sortie pour une valeur d'entrée de 5, qui devrait renvoyer une valeur proche de 9 (y = 2*5 - 1 = 9).</p> <h2> 3. Exécution du modèle dans le navigateur </h2> <p>Pour exécuter ce modèle dans le navigateur, vous aurez besoin d'un fichier HTML contenant la bibliothèque TensorFlow.js et votre code JavaScript :<br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>TensorFlow.js Example</title> &lt;script src=&quot;https://cdn.jsdelivr.net/npm/@tensorflow/tfjs&quot;&gt;&lt;/script&gt; <script defer src="app.js"></script>

Simple Neural Network with TensorFlow.js

Copier après la connexion

Et dans votre fichier app.js, vous pouvez inclure le code de création de modèle et de formation ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal