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. El método Tensorflow.js tf.LayersModel class .fitDataset() se usa para entrenar el modelo de capa mediante el uso de un objeto de conjunto de datos.
Sintaxis:
LayerModel.fitDataset(dataset, args);
Parámetros: Este método acepta los siguientes parámetros:
- conjunto de datos: es un valor de entrada en forma de conjunto de datos mediante el cual entrenamos nuestro modelo de capa.
- args: Es un objeto que contiene los siguientes valores:
- batchesPerEpoch: Es el número de lotes en cada época. Depende del tamaño del lote, a medida que aumenta el tamaño del lote, su tamaño disminuye.
- épocas: es el número total de iteraciones en el conjunto de datos de entrenamiento durante el modelo de entrenamiento. Debe ser un valor entero.
- initialEpoch: Se utiliza para definir el valor de la época en la que comenzar a entrenar.
- ValidationData: se utiliza para dar una estimación del modelo final al seleccionar entre modelos finales.
- detallado: ayuda a mostrar el progreso de cada época. Si el valor es 0, significa que no hay ningún mensaje impreso durante la llamada a fit(). Si el valor es 1, significa que en Node.js, imprime la barra de progreso. En el navegador, no muestra ninguna acción. El valor 1 es el valor predeterminado. 2: el valor 2 aún no está implementado.
- classWeight: Se utiliza para ponderar la función de pérdida. Puede ser útil decirle al modelo que preste más atención a las muestras de una clase subrepresentada.
- callbacks: Define una lista de callbacks a ser llamados durante el entrenamiento. La variable puede tener una o más de estas devoluciones de llamada onTrainBegin(), onTrainEnd(), onEpochBegin(), onEpochEnd(), onBatchBegin(), onBatchEnd(), onYield().
- ValidationBatchSize: Es el número que define el tamaño del lote. Se utiliza para validar el tamaño del lote. Significa que no podemos poner todos los conjuntos de datos a la vez que excedan este valor. su valor predeterminado es 32.
- validaciónBatches: Se utiliza para validar los lotes de muestras. Se utiliza para extraer datos de validación con fines de validación en cada final de una época.
- yieldEvery: Define la configuración de la frecuencia de cesión del hilo principal a otras tareas. Puede ser automático, lo que significa que el rendimiento ocurre a una determinada velocidad de fotogramas. lote, si el valor es este, produce cada lote. época, si el valor es este, rinde cada época. cualquier número, si el valor es cualquier número, produce cada número en milisegundos. nunca, si el valor es este, nunca cede.
Devoluciones: Promise<Historial>
Ejemplo 1: En este ejemplo, entrenaremos nuestro modelo de capas con un conjunto de datos CSV.
Javascript
import * as tf from "@tensorflow/tfjs" // Path for the CSV file const gfg_CsvFile = 'https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/boston-housing-train.csv'; async function run() { // Creating model const gfg_LayerModel = tf.sequential(); // Adding layer to model const config = { units: 1, inputShape: [12] } const gfg_layer = tf.layers.dense(config); gfg_LayerModel.add(gfg_layer); // Compiling the model const opt = tf.train.sgd(0.00000001) gfg_LayerModel.compile({ optimizer: opt, loss: 'meanSquaredError' }); // Here we want to predict column tax const config2 = { columnConfigs: { rad: { isLabel: true } } }; const csvDataset = tf.data.csv(gfg_CsvFile, config2); // Creating dataset for training const flattenedDataset = csvDataset.map(({ xs, ys }) => { return { xs: Object.values(xs), ys: Object.values(ys) }; }).batch(6); // Training the model const Tm = await gfg_LayerModel.fitDataset( flattenedDataset, { epochs: 10 }); for (let i = 0; i < 6; i++) { console.log(Tm.history.loss[i]) } } run();
Producción:
41480.109375 28887.93359375 20162.228515625 14115.478515625 9924.9404296875 7020.56005859375
Ejemplo 2: En este ejemplo, entrenaremos nuestro modelo de capas con un conjunto de datos de la array.
Javascript
import * as tf from "@tensorflow/tfjs" async function run() { // Creating Layer model const gfg_LayerModel = tf.sequential(); // Adding layer to model const config = { units: 4, inputShape: [4] } const gfg_layer = tf.layers.dense(config); gfg_LayerModel.add(gfg_layer); // Compiling the model const config2 = { optimizer: 'sgd', loss: 'meanSquaredError' } gfg_LayerModel.compile(config2); // Creating Datasets for training const array1 = [ [1, 2, 3, 4], [1, 4, 6, 8], [1, 3, 4, 7], [3, 4, 7, 8] ]; const array2 = [1, 1, 1, 1]; const arrData1 = tf.data.array(array1); const arrData2 = tf.data.array(array2); const config3 = { xs: arrData1, ys: arrData2 } const arrayDataset = tf.data.zip(config3) const ArrayDataset = arrayDataset.batch(4); // Training the model const Tm = await gfg_LayerModel.fitDataset( ArrayDataset, { epochs: 4 }); // Printing the loss after training console.log("Loss After Training Layer Model" + Tm.history.loss[0]); } run();
Producción:
Loss After Training Layer Model 4.386415958404541
Referencia: https://js.tensorflow.org/api/latest/#tf.LayersModel.fitDataset
Publicación traducida automáticamente
Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA