04.-TensorFlow js en Español [Manejo de Memoria]



En este tutorial vamos a trabajar con la memoria de nuestra aplicación (y si debemos cuidar la memoria) que aunque no es la memoria de nuestro servidor es la memoria del navegador del cliente, en otras palabras que es el navegador del cliente el que tenemos que cuidar. Imaginemos este escenario: Tenemos un cliente visitando nuestra pagina web la cual trabaja con tensorflow y ademas esta navegado con google chrome (tomemos en cuenta que chrome consume mucha memoria), ademas tenemos a tensorflow el cual realiza operaciones complejas, por si fuera poco esta webgl que es una librería de gráficos en 3D. Al final tenemos una bomba para el navegador y provocar que nuestra pagina web se llegue a caer al consumir muchos recursos. Para evitar estos problemas nuestros amigos de tensorflow nos entregan algunas funciones de control y manejo de memoria RAM y es una especie de Garbage colector algo asi como el Garbage colector de JAVA. Este un pequeño programa que revisaba constantemente la memoria ram de objetos que ya no se ocupaban. Tensor flow nos etregan una funciones de garbage colector. En otras palabras los tensores que ya no estemos ocupando los podemos desechar de forma manual-automatico.


<!DOCTYPE html>
<html>
    <head>
        <link rel="shortcut icon" href="favicon.ico">
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/p5.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/addons/p5.dom.js"></script>
    </head>
    <body>
        <script>
            function draw() {
                const val = [];
                for (i = 0; i < 30; i++) {
                    val[i] = Math.random(1, 100) * 100;
                }
                tf.tidy(() => {
                    const tens = tf.tensor3d(val, [5, 3, 2], "int32");
                    //tens.print();
                    //console.log(tens.data());
                    /*
                     tens.data().then(function (res) {
                     console.log(res[2]);
                     });
                     console.log(tens.dataSync());
                     */

                    //const x = tf.variable(tf.tensor([1, 2, 3]));
                    //x.print();
                    //x.assign(tf.tensor([4, 5, 6]));
                    //x.print();

                    const a = tf.tensor2d([[1, 2, -3], [4, 0, -2]]);
                    const b = tf.tensor2d([[3, 1], [2, 4], [-1, 5]]);
                    const mul = tf.matMul(a, b);
                });
                
                //tens.dispose();
                //x.dispose();
                //a.dispose();
                //b.dispose();
                //mul.dispose();
                console.log(tf.memory().numTensors);
            }


        </script>
    </body>
</html>





Comentarios

Facebook Like

Entri Populer

hackear wifi con kali linux

Instalar Netbeans 10 en Windows 10

Bettercap 2.0