Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático y redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.
La función tf.train.adagrad() se usó para crear un tf.AdagradOptimizer que usa el algoritmo de gradiente adaptativo (adagrad).
Sintaxis:
tf.train.adagrad(learningRate).
Parámetros:
- learningRate: especifica la tasa de aprendizaje que utilizará el algoritmo de descenso de gradiente adaptativo.
- initialAccumulatorValue: Especifica el valor inicial de los acumuladores. Debe ser positivo.
Valor devuelto: Devuelve un tf.adagradOptimizer.
Ejemplo 1: ajuste una función f = (x + y) aprendiendo los coeficientes x, y.
Javascript
// importing tensorflow import tensorflow as tf const xs = tf.tensor1d([0, 1, 2]); const ys = tf.tensor1d([1.3, 2.5, 3.7]); const x = tf.scalar(Math.random()).variable(); const y = tf.scalar(Math.random()).variable(); // Define a function f(x, y) = x + y. const f = x => x.add(y); const loss = (pred, label) => pred.sub(label).square().mean(); const learningRate = 0.05; // Create adagrad optimizer const optimizer = tf.train.adagrad(learningRate); // Train the model. for (let i = 0; i < 5; i++) { optimizer.minimize(() => loss(f(xs), ys)); } // Make predictions. console.log( `x: ${x.dataSync()}, y: ${y.dataSync()}`); const preds = f(xs).dataSync(); preds.forEach((pred, i) => { console.log(`x: ${i}, pred: ${pred}`); });
Producción
x: 0.8561810255050659, y: 0.6922483444213867 x: 0, pred: 0.6922483444213867 x: 1, pred: 1.6922483444213867 x: 2, pred: 2.6922483444213867
Ejemplo 2: Ajuste una función cuadrática aprendiendo los coeficientes a, b, c.
Javascript
// importing tensorflow import tensorflow as tf const xs = tf.tensor1d([0, 1, 2, 3]); const ys = tf.tensor1d([1.1, 5.9, 16.8, 33.9]); const a = tf.scalar(Math.random()).variable(); const b = tf.scalar(Math.random()).variable(); const c = tf.scalar(Math.random()).variable(); const f = x => a.mul( x.square()).add(b.mul(x)).add(c); const loss = (pred, label) => pred.sub(label).square().mean(); const learningRate = 0.01; const optimizer = tf.train.adagrad(learningRate); // Train the model. for (let i = 0; i < 10; i++) { optimizer.minimize(() => loss(f(xs), ys)); } // Make predictions. console.log( `a: ${a.dataSync()}, b: ${b.dataSync()}, c: ${c.dataSync()}`); const preds = f(xs).dataSync(); preds.forEach((pred, i) => { console.log(`x: ${i}, pred: ${pred}`); });
Producción
a: 0.3611285388469696, b: 0.6980878114700317, c: 0.8787991404533386 x: 0, pred: 0.8787991404533386 x: 1, pred: 1.9380154609680176 x: 2, pred: 3.7194888591766357 x: 3, pred: 6.223219394683838
Referencia: https://js.tensorflow.org/api/1.0.0/#train.adagrad
Publicación traducida automáticamente
Artículo escrito por abhinavjain194 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA