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

IntroducciĆ³n

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 asĆ­ 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 entregan una funciones de garbage colector. En otras palabras los tensores que ya no estemos ocupando los podemos desechar de forma manual-automĆ”tico.

Codigo

<!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>
Eugenio Chaparro

Compartir
Publicado por
Eugenio Chaparro

Entradas recientes

šŸŸ¢Editar cĆ³digo de un mĆ³dulo en Dolibarr [04]

šŸŸ¢Editar cĆ³digo de un mĆ³dulo en Dolibarr [04]

En este tutorial vamos editar el cĆ³digo de nuestro mĆ³dulo personas para poder personalizar algunas…

2 meses hace
šŸŸ¢Crear un sub_mĆ³dulo en Dolibarr [03]

šŸŸ¢Crear un sub_mĆ³dulo en Dolibarr [03]

En este tutorial vamos a crear un sub mĆ³dulo llamado seguridad que serĆ” muy parecido…

2 meses hace
šŸŸ¢Modificar un mĆ³dulo en Dolibarr [02]

šŸŸ¢Modificar un mĆ³dulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

2 meses hace
šŸŸ¢Constructor de mĆ³dulos en Dolibarr

šŸŸ¢Constructor de mĆ³dulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una polĆ­tica clara:…

2 meses hace
šŸŸ¢Tickets en Dolibarr [19]

šŸŸ¢Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

2 meses hace
šŸŸ¢Agenda en Dolibarr [18]

šŸŸ¢Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

2 meses hace