Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

Utilizando un modelo de clasificación de imágenes

19/21
Recursos

Aportes 8

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

archivo index_imagen.html

<!DOCTYPE html>

<html lang="es">
<head>
    <meta charset="UTF-8">
            
    <title> Modelo Regresion </title>

    <!-- Importar TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet"></script>
 
</head>

<body>
    <img id="img" crossorigin src="https://i.imgur.com/JlUvsxa.jpg" width="227" heigh="227">
    <div id="descripcion_imagen"></div>
    
    <button onclick="cambiarImagen();">Cambiar imagen</button>
    <!-- Importar el archivo principal -->
    <script src="scripts.js"></script>
</body>
</html>

luego aqui esta el archivo scripts.js

let net;

const imgEl = document.getElementById('img');
const descEl = document.getElementById('descripcion_imagen');

async function app(){

    net = await mobilenet.load();

    var result = await net.classify(imgEl);
    console.log(result);
    displayImagePrediction();
}

imgEl.onload = async function(){
    displayImagePrediction();
}

async function displayImagePrediction(){
    try{
        result = await net.classify(imgEl);
        descEl.innerHTML = JSON.stringify(result);
    }catch(error){

    }
};

count = 0;
             
async function cambiarImagen(){
    count = count + 1 
    imgEl.src = "https://picsum.photos/200/300?random=" + count;

}

app();

Aqui otra manera de escribir el codigo usando ECMA6 y quitando unas cosas que no se usan

let net;
const imgEl = document.getElementById('img')
const descripcion = document.getElementById('descripcion_imagen')

const app = async () => {
    net = await mobilenet.load()
    displayImagePrediction()
}

imgEl.onload = async () => {
    displayImagePrediction()
}

const cambiarImagen = async ()=>{
    let count = 0;
    count++
    imgEl.src = 'https://picsum.photos/200/300?random=' + count
}
const displayImagePrediction = async () => {
    try {
        const result = await net.classify(imgEl)
        console.log(result)

        descripcion.innerHTML = JSON.stringify(result)
    } catch (error) {
        console.log(error)
    }
}
app()

Esta clase me gustó muchísimo, creo que voy entendiendo un poco más sobre el curso y respecto a mi comentario anterior de que estaba perdido, al parecer era yo mismo, creo que he venido tomando las clases con la energía errónea y eso ha generado que no entienda muy bien al profesor. Gracias por leerme :3

Muy buena clase, y en mi opinión, esto es lo mas útil de tensorflow.js, es decir, utilizar modelos entrenados en ambientes mas controlados o con mas recursos (python, nodejs), para poder consumirlos en el navegador y ofrecerle al usuario experiencias increíbles basadas en inteligencia artificial.

Es posible generar transferencia de conocimiento con mi google fotos para que logre detectar a familia, amigos y a mí?

a alguien mas le sale que no encuentra la libreria ? de tensorflow ??

DevTools failed to load SourceMap: Could not load content for https://cdn.jsdelivr.net/npm/@tensorflow/tf.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

Creo que en este no se está aplicando el transfer learning, estamos es probando la MobileNet. Para el transferLearning debemos reentrenar la ultima capa de clasificación. De todas formas muy sencilla y rápida la implementación.