Curso de TensorFlow.js

Curso de TensorFlow.js

Alejandro Santamaria

Alejandro Santamaria

¿Qué es TensorFlow?

4/21
Recursos

Aportes 15

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Secuencia de pasos para usar TensorFlow:

Grafo acíclico dirigido

Sitios para consultar y descargar algunos modelos, listos para usar con TensorFlowJS.

37 líneas, sí … pero …

El detalle con el uso de Tensorflow, es que esas 37 líneas condensan una cantidad importante de conocimientos necesarios para saber cúales tipos de capas crear, cuáles funciones de convolución usar, o cuántes dimensiones definir, cuáles funciones de optimización y pérdida, y cuántas veces o epochs se deberá correr el entrenamiento del modelo …

Y ese conocimiento es lo que esperamos conseguir en este curso 😃

Un “tensor” se refiere a una estructura de datos para uso en una red neuronal:

  • Escalar
  • Vector
  • Matriz
  • combinaciones de las anteriores.

Como hacemos uso de TensorFlow?

1: Importamos la libreria de TensorFlow

Como hacemos uso de TensorFlow?

1: Importamos la libreria de TensorFlow

2: Importamos los Datos

2: Importamos los Datos
  1. Configuracion del Modelo
# configurar el modelo de la red neuronal

model = keras.Sequential([
	keras.layers.Flatten(input_shape=(28,28)),
	keras.layers.Dense(128, activation=tf.nn.relu),
	keras.layers.Dense(10,activation=tf.nn.softmax)
])

model.compile(optimizer = tf.train.AdamOptimizer(),
		loss='sparse_categorical_crossentropy',
		metrics=['accuracy])
  1. Entrenamiento del Modelo
# entrenas el modelo

model.fit(train_images, train_labels, epochs=5)
  1. Evaluamos los resultados del entrenamiento de este modelo.
test_loss, test_acc = model.evaluate(test_images, test_labels)

print('test accuracy:', test_acc)
  1. Una vez que sabemos que el modelo es correcto, podemos hacer predicciones.
# haz predicciones

predictions = model.predict(test_images)

En este ejemplo realizamos un modelo de identificacion de caracteres en tan solo 37 lineas.

Para los que tengan el siguiente error:

'tensorflow_core._api.v2.train' has no attribute 'adamoptimizer'

Cambiar dentro de “model.compile”

tf.optimizers.Adam()
# Cambiar por lo siguiente
optimizer = tf.train.AdamOptimizer()

Alrededor del minuto 7:
Después de evaluar un modelo, si este no nos satisface podemos regresar a volver a configurarlo y entrenarlo, y así hasta que nos dé el resultado esperado para que de ahí pueda hacer predicciones…

En Platzi está el excelente Curso de Redes Neuronales en Keras y Scikit-Learn para el que lo desee realizar.

RESUMEN:

  • Que es tensor flow? Empezó siendo una librería open source, aunque ahora es un entorno completo de desarrollo.
  • Ademas de una librería, que ofrece? No solo ofrece librerías para programar modelos de inteligencia artificial, sino ademas herramientas para visualizar, optimizar y compartir nuestros modelos con el resto del mundo.
  • Cuales son los pasos básicos para crear una aplicación sencilla en TF? Tener los datos, diseñar tu modelo, entrenarlo, verificar que el entrenamiento fue correcto y utilizarlo para hacer predicciones.
  • importar librerías.
    -Obtener los datos y normalizarlos (resize).
    -Hacer Data augmentation.
    -Escogemos la arquitectura puede ser VGG, resnet,SSD, ETC.
    -Hacemos Fine Tuning para evitar que el modelo caiga en overfitting, podemos descargar un modelo con lo pesos entrenados y entrenar la ultima capa haciendo Freeze y Unfreeze. Una técnica para tener una red mejor entrenada es Descargar una red con los pesos pre-entrenados congelando la red y solo entrenando la ultima capa, después se hace Unfreeze luego de haber entrenado la red durante unas epocas ahora las entreno todas ahora con un learning rate mas pequeño.
    -evaluar.
    -hacer predicciones.

TensorFlow tiene el objetivo de hacer cosas dificiles de manera facil.

Estas clases están que uno no quisiera ir a trabajar para no tener que parar. Súper interesantes.

Me encanta la explicación, mas claro no puede estar

Muy bueno los resúmenes al final de la clases. Ayudan mucho a anclar el conocimiento.