Estoy usando la versión de navegador de TensorFlow, y una vez que un usuario visita mi página, alimento los conjuntos de datos de TensorFlow y comienza a entrenarse... durante mucho tiempo. Creo que el usuario se impacientaría esperando, o podría pensar que el sitio web está roto y simplemente abandonará la página.
¿Hay alguna forma de encontrar el progreso de entrenamiento de TensorFlowJS y actualizar al usuario de primera mano para que sepa que está funcionando (por ejemplo, con una barra de progreso), o hay alguna otra forma de mejorarlo?
const kgToLbs = kg => kg * 2.2; const xs = tf.tensor(Array.from({ length: 2000 }, (x, i) => i)); const ys = tf.tensor(Array.from({ length: 2000 }, (x, i) => kgToLbs(i))); const model = tf.sequential(); model.add(tf.layers.dense({ units: 1, inputShape: 1 })); model.compile({ loss: "meanSquaredError", optimizer: "adam" }); (async () => { await model.fit(xs, ys, { epochs: 100, shuffle: true }); document.getElementById("pw").remove(); const kg = document.getElementById("kg"); kg.removeAttribute("disabled"); const result = document.getElementById("pounds"); kg.onchange = () => { result.innerText = model .predict(tf.tensor([parseInt(kg.value)])) .asScalar() .dataSync(); }; })(); body, html { margin: 50px 10%; } <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" type="text/css" /> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script> <h1> Tensorflow - Convert KG to Pounds </h1> <p id="pw"> Please wait while model is trained... </p> <input type="text" id="kg" class="form-control" placeholder="Enter kilograms..." disabled /> <p> <b>Converted to pounds:</b> <span id="pounds"></span> </p>Tenga en cuenta que model.fit tiene una opción de callbacks de llamada para este propósito. https://js.tensorflow.org/api/latest/#tf.Sequential.fit