Curso de TensorFlow.js

Curso de TensorFlow.js

Instruido por:
Alejandro Santamaria
Alejandro Santamaria
Básico
4 horas de contenido
Ver la ruta de aprendizaje
App con reconocimiento de imágenes
Proyecto del curso
App con reconocimiento de imágenes

Crearás una aplicación web utilizando un modelo de reconocimiento de imágenes.

Curso de TensorFlow.js

Curso de TensorFlow.js

Progreso del curso:0/21contenidos(0%)

Contenido del Curso
Tutoriales de estudiantes
Preguntas de estudiantes

Progreso del curso:0/21contenidos(0%)

Entender el concepto de Red Neuronal y Aprendizaje Profundo

Material Thumbnail

Redes Neuronales, una visita express

09:31 min

Material Thumbnail

Aprendizaje profundo

11:12 min

Conocer qué es TensorFlow y TensorFlow.js

Material Thumbnail

¿Qué es TensorFlow?

11:18 min

Material Thumbnail

TensorFlow con JavaScript

05:39 min

Material Thumbnail

Inteligencia Artificial y ML en el navegador

09:10 min

Entender cuáles son los componentes básicos de una Red Neuronal y cómo entrenarla

Material Thumbnail

Entradas, capas y salidas

11:18 min

Material Thumbnail

Entrenando un modelo

13:28 min

Material Thumbnail

Visualización del proceso de entrenamiento

13:49 min

Material Thumbnail

Almacenamiento de modelos de redes neuronales

07:03 min

Entender cual es la forma común de utilizar un modelo de Red Neuronal

Material Thumbnail

Optimización de modelos

10:00 min

Material Thumbnail

Modelo general de utilización

07:42 min

Material Thumbnail

Transfiriendo el aprendizaje

04:00 min

Diseñar un modelo de Regresión Lineal

Material Thumbnail

Diseñando un modelo de regresión lineal

04:39 min

Material Thumbnail

Entrenando un modelo de regresión lineal

08:58 min

Material Thumbnail

Preparando datos para un modelo de regresión lineal

11:57 min

Material Thumbnail

Utilizando un modelo de regresión lineal

15:00 min

Crear una aplicación en JavaScript que utilice un modelo de clasificación de Imágenes

Material Thumbnail

Diseñando un modelo de clasificación de imágenes

09:25 min

Material Thumbnail

Utilizando un modelo de clasificación de imágenes

13:07 min

Material Thumbnail

Transferencia de conocimiento a un modelo de clasificación de imágenes

23:45 min

Conclusión

Material Thumbnail

Resúmen y siguientes pasos

06:48 min

nuevosmás votadossin responder
Ruby Helen Muñoz
Ruby Helen Muñoz
Estudiante

por que no se le puede dar dislike a los videos?

1
John Mauricio Barrero Junco
John Mauricio Barrero Junco
Estudiante

hola, Si nuestro modelo se descarga en el pc usuario, hay alguna forma de proteger el modelo para que este únicamente funcione en nuestra pagina?

0
Marlon Menendez
Marlon Menendez
Estudiante

Tengo una pregunta para aquellos que ya tomaron el curso. Yo nunca he programado en JavaScript. ¿Qué cursos recomiendan tomar de JavaScript antes de empezar este curso?

0
Edgar Andrés Montenegro Martínez
Edgar Andrés Montenegro Martínez
Estudiante

Los navegadores ya interpretan Tensorflow directamente o hay que descargar algo?

0
Sam Rua
Sam Rua
Estudiante

en que momento explican todo eso?

0
Jose Armando Lopez Rodriguez
Jose Armando Lopez Rodriguez
Estudiante

Hola, una ayuda, ¿como puedo utilizar la camara de mi celular para capturar vídeo para la predicción?
En mi caso estaba planeando hacer un pequeño proyecto response , sin embargo me encuentro con el problema de que el mismo código no funciona desde un navegador de celular.

1
emacastillozam
emacastillozam
Estudiante

Dónde puedo encontrar el repo de todo el código de este video?

2
Juan Ventrone
Juan Ventrone
Estudiante

No hay alguna manera de saber cuantas neuronas se requieren para X problema ?

1
Damian Spizzirri
Damian Spizzirri
Estudiante

No entendi porque da 5 esa cuenta, a mi me da 4.

4
Mateo Aquino
Mateo Aquino
Estudiante

Hola! Me surge este error en el navegador

Captura de Pantalla 2020-07-19 a la(s) 22.06.39.png

Y el grafico se ve de esta manera:

Captura de Pantalla 2020-07-19 a la(s) 22.07.13.png

Osea, el modelo se esta entrenando pero no veo el grafico!

Este es mi codigo, no veo error:

asyncfunctiongetData() {
    const datosCasasR = await fetch("datos.json");
    const datosCasas = await datosCasasR.json();
    var datosLimpios = datosCasas.map(casa => ({
        precio: casa.Precio,
        cuartos: casa.NumeroDeCuartosPromedio
    }))
    datosLimpios = datosLimpios.filter(casa => (casa.precio != null && casa.cuartos != null))
    return datosLimpios;
}
functionvisualizarDatos(data) {
    const valores = data.map(d => ({ x: d.cuartos, y: d.precio }));
    tfvis.render.scatterplot(
        { name: "Cuartos vs Precio" },
        { values: valores },
        {
            xLabel: "Cuartos",
            yLabel: "Precios",
            height: 300
        }
    );
}

functioncrearModelo() {
    const modelo = tf.sequential();

    modelo.add(tf.layers.dense({ inputShape: [1], units: 1, useBias: true }));
    modelo.add(tf.layers.dense({ units: 1, useBias: true }));
    return modelo;
}

const optimizador = tf.train.adam();
const funcion_perdida = tf.losses.meanSquaredError;
const metricas = ['mse'];

asyncfunctionentrenarModelo(model, inputs, labels) {
    model.compile({
        optimizer: optimizador,
        loss: funcion_perdida,
        metrics: metricas
    });


    const surface = { name: 'show.history live', tab: 'Training' }
    const tamanioBatch = 28;
    const epochs = 50;
    const history = [];

    returnawait model.fit(inputs, labels, {
        tamanioBatch,
        epochs,
        shuffle: true,
        callbacks: tfvis.show.fitCallbacks(
            { name: 'Training Performance' },
            ['loss', 'mse'],
            { height: 200, callbacks: ['onEpochEnd'] }
        )
    });
}


functionconvertirDatosATensores(data) {
    return tf.tidy(() => {
        tf.util.shuffle(data);

        const entradas = data.map(d => d.cuartos);
        const etiquetas = data.map(d => d.precios);
        const tensorEntradas = tf.tensor2d(entradas, [entradas.length, 1]);
        const tensorEtiquetas = tf.tensor2d(etiquetas, [etiquetas.length, 1]);

        const entradasMax = tensorEntradas.max();
        const entradasMin = tensorEntradas.min();
        const etiquetasMax = tensorEtiquetas.max();
        const etiquetasMin = tensorEtiquetas.min();

        //(dato-min)/(max-min)const entradasNormalizadas = tensorEntradas.sub(entradasMin).div(entradasMax.sub(entradasMin));
        const etiquetasNormalizadas = tensorEtiquetas.sub(etiquetasMin).div(etiquetasMax.sub(entradasMin));

        return {
            entradas: entradasNormalizadas,
            etiquetas: etiquetasNormalizadas,
            entradasMax,
            entradasMin,
            etiquetasMax,
            etiquetasMin
        }
    })
}

var modelo;

asyncfunctionrun() {
    const data = await getData();

    visualizarDatos(data);
    modelo = crearModelo()

    const tensorData = convertirDatosATensores(data);
    const { entradas, etiquetas } = tensorData;
    await entrenarModelo(modelo, entradas, etiquetas)
}

run();

Agradezco cualquier ayuda!

4