Tensorflow.js tf.callbacks.earlyStopping() Function (original) (raw)
`import * as tf from "@tensorflow/tfjs";
const xArray = [ [1, 2, 3, 4], [5, 6, 7, 8], [8, 7, 6, 5], [1, 2, 3, 4], ];
const x1Array = [ [0, 1, 0.5, 0], [1, 0.5, 0, 1], [0.5, 1, 1, 0], [1, 0, 0, 1], ];
const yArray = [1, 2, 3, 4]; const y1Array = [4, 3, 2, 1];
// Create a dataset from the JavaScript array. const xDataset = tf.data.array(xArray); const x1Dataset = tf.data.array(x1Array); const y1Dataset = tf.data.array(x1Array); const yDataset = tf.data.array(yArray);
// Combining the Dataset with zip function const xyDataset = tf.data .zip({ xs: xDataset, ys: yDataset }) .batch(4) .shuffle(4); const xy1Dataset = tf.data .zip({ xs: x1Dataset, ys: y1Dataset }) .batch(4) .shuffle(4);
// Creating model const model = tf.sequential(); model.add( tf.layers.dense({ units: 1, inputShape: [4], }) );
// Compiling model model.compile({ loss: "meanSquaredError", optimizer: "sgd", metrics: ["acc"] });
// Using tf.callbacks.earlyStopping in fitDataset. const history = await model.fitDataset(xyDataset, { epochs: 10, validationData: xy1Dataset, callbacks: tf.callbacks.earlyStopping({ monitor: "val_acc" }), });
// Printing value console.log("The value of val_acc is :", history.history.val_acc);
`