TensorFlow en una hora: reconocimiento a mano con la visión por computadora | Manish Shivanandhan | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

TensorFlow en una hora: reconocimiento a mano con la visión por computadora

teacher avatar Manish Shivanandhan, AI & Cybersecurity Engineer.

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Bienvenido a este curso

      1:16

    • 2.

      Tensores y tensorflow

      2:15

    • 3.

      Trabaja con Tensorflow

      6:18

    • 4.

      Genera y carga

      6:06

    • 5.

      Operaciones básicas con Tensorflow

      8:27

    • 6.

      Codifica una vez caliente

      1:46

    • 7.

      Trabaja con GPUs y TPUs

      2:11

    • 8.

      Prepara la modelo

      8:26

    • 9.

      Función de optimizador y pérdida

      2:23

    • 10.

      Compila y entrena el modelo

      3:45

    • 11.

      Predice los dígitos manuscritos

      4:17

    • 12.

      Conclusión

      0:46

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

95

Estudiantes

2

Proyectos

Acerca de esta clase

Tensorflow es un programa que ayuda a ingenieros a construir y entrenar modelos de aprendizaje de máquina. En este curso, aprenderás sobre Tensorflow y cómo crear modelos de IA con TensorFlow.

TensorFlow es flexible y poderoso. Puede trabajar con cualquier tipo de conjunto de datos: pequeño o grande. En este curso, aprenderás qué son los Tensores, qué es Tensorflow y cómo trabajar con él en detalle.

Tensorflow también puede trabajar con GPUs y TPU, que son tipos de chips de computadora diseñados para ampliar las capacidades de TensorFlow. Estas fichas hacen que Tensorflow funcione más rápido, lo que es útil cuando tienes muchos datos para trabajar.

Al final de la asignatura tendrás una buena comprensión de lo que es TensorFlow y cómo usarlo para modelar los datos. También estaremos creando un proyecto de visión por computadora donde construiremos un modelo de flujo de tensor para reconocer imágenes manuscritas.

Aquí tienes algunos recursos que podrías necesitar.

Notebook de Google colab: https://colab.research.google.com/drive/1y-R4PnqIAcjB2Y41CwbeYM6sWRZVHRht#scrollTo=AiXxTaIrGXB8

Aspectos básicos de la aprendizaje: https://www.youtube.com/watch?v=ukzFI9rgwfU

Aspectos básicos de Deep Learning: https://www.youtube.com/watch?v=6M5VXKLf4D4

¡Empecemos!

Conoce a tu profesor(a)

Teacher Profile Image

Manish Shivanandhan

AI & Cybersecurity Engineer.

Profesor(a)

AI & Cybersecurity engineer. Teaches 5K+ students about ethical hacking, machine learning, and building apps & games with Flutter. Author at Educative.io and Freecodecamp. 

Ver perfil completo

Level: Intermediate

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Bienvenido a este curso: Hola, bienvenidos a este curso sobre TensorFlow. Tensorflow es un programa que ayuda a los ingenieros a construir y entrenar modelos de aprendizaje automático. En este curso, aprenderás sobre tensores y cómo trabajar con bailarines usando TensorFlow. Empezaremos por mirar qué son los tensores. Luego aprenderemos a construir tensores usando datos. Luego veremos cómo realizar operaciones matemáticas básicas e intermedias usando TensorFlow. Tensorflow también puede funcionar con GPU y TPUs, que son tipos de factura de chips de computadora para extender capacidades densas y sueltas. Estos chips hacen que TensorFlow funcione más rápido, lo cual es útil cuando tienes muchos datos con los que trabajar. Al final del curso, comprenderás bien qué es TensorFlow y cómo lo usamos para construir modelos de aprendizaje profundo. También estaremos construyendo un proyecto de visión por computador donde crearemos un modelo sencillo de TensorFlow para reconocer imágenes manuscritas. Este es el curso de nivel principiante, pero estoy asumiendo algunos conocimientos básicos de python y machine learning. No tienes que ser un experto en aprendizaje automático. Pero si entiendes cómo se utilizan los datos para entrenar modelos para la predicción, podrás entender este curso. Si no, por favor encuentre enlaces a un par de videos de introducción en la descripción del curso. Si estás atascado en algún momento del curso, envíame un correo electrónico a admonition shiva.com, y me pondré en contacto contigo tan pronto como otra vez. Así que comencemos. 2. Tensores y tensorflow: En esta lección, veremos qué es un tensor, seguido del popular tensorflow de la biblioteca de aprendizaje profundo. Primero veamos qué es un tensor. Una explicación simple sería que un tensor es una matriz multidimensional. Por ejemplo, tenemos escalares, que es solo un número único. Entonces tenemos un vector también llamado como una matriz. Entonces tenemos una matriz que será una matriz bidimensional. Finalmente, tenemos una respuesta que es una matriz n-dimensional, lo que significa que puede tener cualquier número de dimensiones. En TensorFlow, todo puede considerarse un tensor, incluido un escalar. Un escalar será un tensor de dimensión cero, un vector de dimensión uno y una matriz de dimensión dos. Ahora bien, esto es útil porque no nos limitamos a trabajar con conjuntos de datos complejos en TensorFlow. Tensorflow puede manejar cualquier tipo de datos y alimentarlos a modelos de aprendizaje automático. Tensorflow es una biblioteca de software de código abierto para construir redes neuronales profundas. El equipo de Google Brain fue quien lo construyó, y ahora es la biblioteca de aprendizaje profundo más popular del mercado hoy en día. Puede usar TensorFlow para crear modelos de IA que incluyen reconocimiento de imágenes y voz, procesamiento de lenguaje natural y modelado predictivo. Tensorflow utiliza un gráfico de flujo de datos para representar cálculos. En pocas palabras, TensorFlow ha facilitado la construcción modelos complejos de aprendizaje automático y el llamado se encarga de mucho trabajo detrás de escena, lo que lo hace útil a la vez que construye y entrena cualquier tipo de modelo de aprendizaje profundo. Diencephalon también gestiona el cómputo, incluyendo la paralelización y optimización en nombre del usuario. Y Tableau tiene una API de alto nivel llamada Keras. Get us fue inicialmente un proyecto independiente que ahora está disponible dentro de la biblioteca de TensorFlow. Consíganos hace que sea fácil definir y entrenar modelos. Si bien TensorFlow proporciona más control sobre el cálculo, TensorFlow admite una amplia gama de hardware, incluyendo CPU, GPU y TPUs. Tpus son unidades de procesamiento de tensores construidos específicamente para lo que las capas densas y TensorFlow. También se puede ejecutar TensorFlow en dispositivos móviles y dispositivos IoT utilizando el principio TensorFlow Lite también tiene una gran comunidad de desarrolladores y se actualiza con nuevas características y le dio a los obesos casi mensualmente. Espero que este video te haya ayudado a entender los tensores y TensorFlow en detalle. La próxima semana empezaremos a trabajar con TensorFlow en un portátil de Google Colab. 3. Trabaja con Tensorflow: Empecemos a escribir algún código. Voy a usar un cuaderno de Google Colab y puedes encontrar el enlace para ese cuaderno terminado en la descripción del curso. Alfas conectan este portátil con CPU. Esperemos un minuto. Ahora está inicializando y grid. Está conectado. Si no lo sabes. Google Colab Notebooks nos ayudan a ejecutar Python y luego enviar código en la web. Es mucho más fácil trabajar en lugar de establecer un entorno de desarrollo local. Ahora comencemos importando TensorFlow e imprimiendo el Washington. Puede presionar Command Enter o abdomen para ejecutar el bloque de código. Genial, estamos usando cociente a 0.9, 0.2. Si tienes una versión diferente, no te preocupes por ello. No van a haber mucha diferencia. Empecemos por crear un escalar usando tf.constant. tf.Constant es una función que vamos a utilizar para cargar el curso. Pero en escenarios del mundo real, no lo usaremos tanto porque TensorFlow manejará mucha creación de tracción por usted. Pero por ahora, vamos a crear un escalar. Podría codificarse como siete. Y vamos a imprimirlo. Se puede ver que hemos creado un scale-out con el idioma siete. No tiene forma porque es sólo un valor único. Y el tipo de datos es entero 32. Ahora vamos a crear un vector de la entrada será una matriz con dos valores. Y ahora vamos a imprimirlo. Greg, podemos ver que le hemos creado un vector de forma cuando estaba en hacer digitalmente. Ahora intentemos crear una matriz. La entrada será una matriz bidimensional. Entonces tendremos 12, 30. Vamos a imprimirlo. Crearemos la matriz que tiene forma a gamma2. Es una matriz bidimensional y los vectores de datos enteros 32. Ahora vamos a crear un más denso, llamarlo densa de comprensión. Hornear todo se basará en el lenguaje. Y vamos a imprimirlo. Se puede ver que hemos creado un tensor real, que también es una matriz tridimensional, y tiene una forma de tres por uno por tres. Así es como creamos un real más denso usando tf.constant. Podemos ver que el tipo de datos es entero 32. Y si quisiéramos usar un tipo de datos diferente, digamos float 32s. Podemos usar este tipo de datos como argumento y contraseña al crear una escaras. Sólo vamos a copiar los síntomas son devueltos. Yo lo llamaría. Así que uno mismos valores, pero voy a especificar el tipo de datos es float render. Se puede ver que ahora los datos en los que se filtraron, esto es algo que puede cambiar el tipo de datos al trabajar con TensorFlow. En caso de que te encuentres con problemas cuando estás trabajando con modelos grandes y principio de ciencia, puede manejarlo cambiando la base de datos. En escenarios del mundo real, trataremos con tensores de dimensiones más altas y formas aún más grandes. En las siguientes lecciones, también te mostraré cómo convertir un conjunto de datos del mundo real como un grupo de imágenes en un tensor. Hemos visto tf.constant, que se utiliza para crear constante y salsa. Esto es lo que vas a usar a lo largo del curso. Pero si quieres crear una variable más densa, puedes usar la variable tf dot. La diferencia entre constantes y variables que podemos cambiar los valores en una variable más densa pero en una constante. Y así no se puede cambiar el barniz. Vamos a crear un bailarín variable. Usaré el mismo pterosaurio y lo llamaré más denso que usar la variable de punto F. Ahora lo imprimiré. Se puede ver que hemos creado un tensor variable con la misma forma. Y son, ambos en tu W2. Uno de los atributos más importantes de un tensor es su dimensión. Veamos cuál es la dimensión de cada uno de estos barnices o el pentagrama en el vector. Imprimimos la dimensión usando la propiedad ending. En ellos. El virulento. Podemos ver que es adimensional, lo que se espera, y se puede observar la escalabilidad horizontal. Es dimensionalmente ser cero porque es solo un valor único. Y para la herramienta de dimensión matriz AB , ahí vamos. Y para más denso, el show de diamantes ¿serían tres? Piense en las dimensiones como el número de columnas, por ejemplo, si está utilizando un conjunto de datos para calcular los precios de la vivienda, estará ingresando el cielo, la alimentación , la ubicación y tal vez algunas otras entradas. Cada una de estas entradas se denominará como dimensiones. También se puede llamar como características. Entonces espero que esta lección te haya ayudado a entender cómo crear tensores y encontrar atributos básicos como formas y dimensiones. En la siguiente lección, veremos cómo generar bailarines y también veremos cómo nos tiende la carga a partir de matrices NumPy. 4. Genera y carga: Ahora veamos cómo generar respuestas. En la mayoría de los casos, no estarás creando tensores desde cero. Deberá cargar un conjunto de datos, convertir otros conjuntos de datos como matrices NumPy tensores o generar respuestas. Veamos cómo podemos generar algunos tensores. Primero crearemos un tensor con valores aleatorios. Hay dos formas comunes en las que puedes hacer esto. Se puede saltar a la distribución normal o se puede generar una distribución uniforme de los datos. La distribución normal es una curva en forma de campana. Por lo que esto representa la distribución de los datos. Esto significa que la mayoría de los datos estarán cerca del promedio y menos datos estarán lejos del promedio. Básicamente significa que la probabilidad de obtener un valor cercano al promedio es mayor. La distribución uniforme, sin embargo, es una línea recta que representa la distribución de datos. Entonces, ¿todos los valores pueden tener una distribución uniforme una probabilidad igual de ocurrir dentro del rango dado? Esa es una cosa más que debes saber antes de empezar a generar valores aleatorios. Ese es un concepto llamado semilla. La semilla es solo un valor. Y si usamos un valor semilla, podemos regenerar el mismo conjunto de datos varias veces. Entonces sabes que vamos a generar valores aleatorios, ¿verdad? Entonces, si usamos una semilla, esos mismos valores aleatorios se generarán una y otra vez. Esto es realmente útil cuando estás trabajando con un modelo de aprendizaje automático y quieres probar ese modelo con el mismo conjunto de datos. Así que déjame crear la semilla l, llámalo seed db dot random dog. Bien, paloma de semilla. Eso fijará el valor, digamos 42. Ahora, voy a crear un conjunto de valores aleatorios basados en la distribución normal. O madre termina es semilla punto normal. Y voy a poner una forma. Digamos p por dos. Se ha creado, vamos a imprimirlo. Tenemos un tensor con la forma de tres en dos. Y si trazas todos estos valores, puedes ver que deforma una curva de campana. Entonces todos estos pertenecen a la distribución normal. Ahora vamos a crear otro tensor aleatorio con la distribución uniforme. Uniforme Tarasoff. Uniforme de punto C. Le voy a dar la misma forma, tres en dos. Y déjeme imprimirlo. Pero entran en fórmula aguda. Ahora se trata de un tensor uniforme con la forma de tres en dos. Entonces así es como podemos generar un conjunto de células muertas aleatorias usando distribuciones normales y uniformes. Ahora veamos cómo crear tensores con ceros y unos. Quizás se esté preguntando por qué necesitamos esto en TensorFlow. Los tensores rellenos de ceros y unos se suelen utilizar como punto de partida para crear otros bailarines. ejemplo, también se pueden usar como marcadores de posición para entradas en un gráfico computacional. Entonces, primero vamos a crear un más denso. Vería esos. Para eso, estaríamos usando la función df1 ceros. Vamos a llamarlo ceros. Y le vamos a dar forma. Se puede ver que hemos creado un plan de estudios de fluido tensor de tres por dos. Ahora vamos a crear el mismo tensor con uno. El punto central una vez, enviar y enviar igual a dos. Vamos a imprimirlo. Aquí vamos. Tenemos un tensor de forma tres en dos para los enanos que son tipos más diferentes de lápices de libertad que puedes crear usando TensorFlow, pero estos son los comunes que vas a usar. Ahora veamos cómo convertir una matriz NumPy en un tensor. Si no sabes qué es NumPy, es una biblioteca Python para computación numérica. Nos ayuda a manejar grandes conjuntos de datos y realizar una variedad de cálculos allí. Y antes de que tuviéramos tensorflow, Numpy era todo lo que teníamos cuando estábamos trabajando con modelos de aprendizaje automático. Entonces, primero importemos numpy y creemos un antibiótico. Voy a crear una matriz NumPy, seguido de subrayado un impar-impar. Y voy a estar usando la función range, que le dice a NumPy genere una lista de valores, digamos 1-25. Y el byte de datos beep ser adormecido por Bob int. Vamos a imprimir. Ahí vamos. Tenemos una matriz con 24 valores que van de 1-25. Ahora vamos a convertir esto en un TensorFlow que ha hecho para soportar NumPy. Así que puedes convertirte fácilmente a un objeto imparcial en respuesta. Vamos a llamarlos para entonces. Entonces esta constante de punto tf y mi entrada será la no binaria que acabo de crear. Y la forma será, puedo establecer la forma personalizada para igual a decir, dos por 34 por tres. Y vamos a imprimirlo. Ahí vamos. Hemos convertido una matriz NumPy unidimensional en un tensor de dos por cuatro por tres. Lo harás a menudo cuando estés trabajando con problemas de aprendizaje automático del mundo real. Porque muchas veces habrá otros algoritmos de aprendizaje automático u otros frameworks que se utilizarán a las personas. Y obtendrá el conjunto de datos final en una matriz numpy. Así que es muy importante entender cómo llegamos a lo que NumPy arrays de objetos. Espero que esta lección te haya ayudado a entender cómo los tensores de genotipo y cómo convertir matrices NumPy en tensores. Entonces, en la siguiente lección, veremos cómo realizar algunos cálculos básicos, agregaciones y multiplicación matricial usando TensorFlow. 5. Operaciones básicas con Tensorflow: Veamos algunas operaciones básicas usando tensores. Empezaremos por ver cómo obtener alguna información de nuestros tensores existentes. Déjame crear un nuevo 40 más denso. Utilice la función df.columnas para generar un tensor 4D. Vamos con intentar tensor. Y el bien formado sea dos coma tres colores fulcro de fuego que está impreso. Así que hemos creado un 40 más denso, pero la forma de dos coma tres coma cuatro, coma cinco. Ahora vamos a obtener alguna información sobre este tensor. Primero imprime el tamaño del tensor. Entonces para eso usamos tf tamaño de punto. Sí, déjame también imprimir la forma para eso llamado la forma de punto tensor. Entonces vamos a imprimir la dimensión b o b. visto esto volteado y Sadat y grano. Veamos qué surge. Ahí vamos. El tamaño de lo tensores 120 porque hay valores de 12d. Tenemos la forma y tenemos la dimensión. Esto te será útil cuando estés trabajando con lápices complicados. Y si quieres equiparte para obtener alguna información sobre la forma, el tamaño y las dimensiones. Ahora vamos a realizar algunas operaciones básicas sobre tensores. Entonces déjame definir nuestro simple denso o lo que llamamos básico más denso. Df, dy, constante, belleza no creada más densa, digamos rejilla 101112. Probemos adición. Yo solo quería agregar un número a cada valor en el tensor. Entonces simplemente se puede decir, básicos golpes más densos tallo. Esto sumará diez a todos los números en el más denso e imprimimos el resultado. Probemos alguna fracción. También puede incluir multiplicación y división. Multiplicado por diez, comparándolo para agregarlo de nuevo hacia abajo, Vamos a imprimirlo. Pero ahí, ahí vamos. El primero es el Edison. El segundo es la resta. Eso es todos los valores multiplicados por entonces y el plato lleno, todos los valores divididos con ellos. La solución es un poco importante porque la estaríamos usando en nuestro proyecto. Entonces hay un concepto llamado normalización. Eso va a ser convertidores finos que se están ejecutando en cero a uno. Eso lo explicaré detalladamente cuando lleguemos a esa lección, pero por favor tenlo en mente. Ahora veamos la multiplicación matricial. Esto también es algo que vamos a hacer a menudo cuando estamos trabajando en proyectos de aprendizaje automático. Déjame crear rápidamente dos lápices. Nosotros lo llamamos cero no uno, constante, dos coma dos. Olvido o para Ben, voy a crear un nuevo más denso llamado relleno, quiero decir 234 y adquirido. Antes de entrar en la multiplicación matricial, ten en cuenta que las dimensiones internas del tensor que intentas multiplicar deben coincidir. Por ej., supongamos que tiene dos tensores de forma tres por cinco. Esta multiplicación no va a funcionar. Pero si tienes dos decenas nosotros con forma tres por phi n phi por tres, eso funcionará porque las dimensiones internas coinciden. El resultado final de la multiplicación estará fuera de la forma de las dimensiones externas. Entonces, si tienes dos tensores, cada uno con cinco por 3.3 por phi en las formas, el resultado final será de cinco por cinco. Intentemos multiplicar estos dos tensores estará usando el mal funcionamiento de df.count meet printed tf dot html. Y así el cero doble uno, y así 012. Ahí vamos. Tenemos el producto de estas dos matrices. Veamos las operaciones de la matriz Domo. Así que remodelar y transponer. A menudo usaremos una forma de V para cambiar la estructura de su matriz. Luego, la limpieza de redes neuronales, por ejemplo, un píxel de imagen de Netflix 28 por 28 se convertirá en una matriz unidimensional de valores predeterminados de 7 días. Verás esto en nuestro próximo proyecto y te lo explicaré en detalle. Pero por ahora, entienda que remodelar es un concepto muy importante en TensorFlow. Y usar la oración o que se creen en los bloques de código anteriores. Más denso cero doble uno me dejó con remodelarlo en cuatro por uno. Para eso voy a estar usando df dot reshape. Y mi primer argumento será el tensor real, solo responderá ese. Y el segundo argumento será la forma que dicen cuatro por uno. Entonces, si ves esto, estoy tratando de convertir un tensor de dos por dos en caída por un tensor. Ahí vamos. Entonces el valor es dos coma 2.4 coma cuatro se convierten en un tensor de cuatro por uno. Esto es todo lo que reformamos un tensor. Ahora veamos como el transpose y luego soft baby usando la función df dot transponer. Y entonces puedes mantenerlo igual, más denso que, lo siento, de cero a uno. Recta. Ahí vamos. puede ver que los valores han sido transpuestos, por ejemplo los valores dos-por-dos y cuatro-por-cuatro son ahora 24.2 para, si no sabes lo que transponer una matriz, esto es simplemente convertir en filas y dos columnas y columna al caballo. Ahora veamos realizar algunas agregaciones usando densos us. En muchas ocasiones querría encontrar la suma, la media, mediana y la desviación estándar de un lápiz. Déjame crear un símbolo bailarín, DFP, constante. Simplemente haremos una matriz simple, 1-9, pre banda seis, fijando una fecha, trabajo. Voy a configurar los pañales de datos para. Ahora. Déjame imprimir algunos valores. Primero, quiero encontrar el valor mínimo dentro de este tensor. Para eso, voy a estar usando la función Min reducida f punto con ella, pero abusar y luego darle la entrada de plomo más densa sobre tres. Vamos a imprimirlo. Se puede ver que el valor mínimo es uno. Hagamos algunas agregaciones más como esta. Reducir. Vamos a copiar esto. Entonces. Ahora para encontrar el sol. Vamos a probarlos en inglés. Por lo que el valor mínimo es uno, el valor máximo es nueve y el sol fue de 45 cuadrículas. Ahora vamos a abrir un nuevo bloque de código y secar un poco las agregaciones. Me preguntaba entonces la desviación estándar de este tensor para eso, estaré usando tf dot map, reduce, STD, y el más denso por último en negrita ahí. Y quiero imprimir la varianza, que también está en P de Dartmouth. Probemos esto. Ahí vamos. Tenemos la desviación estándar y la varianza. Ahora probemos algunas agregaciones más simples es que nos inclinamos a encontrar este tranquilo es voltio silencioso y el registro de todas las damas del tensor. Primero a la calabaza gobernado, que es T de SQRT oscuro, más denso que la intranquilidad se acaba tf punto cuadrado más denso. Y yo quería imprimir el registro, que es en matemáticas. Entonces df.net dot log de la densa, vamos a imprimirlo. Se puede ver que DFS bastante robusto teléfono intranquilidad o por cada valor del tensor. Y D son ambos cuadrados tranquilos, todos los números en el más denso. Y finalmente, Math.min log encuentra el valor logarítmico de todos los cuerpos del bailarín. Estas son las operaciones básicas que debes conocer por ahora. En el siguiente video, veremos un concepto importante llamado codificación one-hot. 6. Codifica una vez caliente: En esta lección, veremos un concepto importante con el que te encontrarás en el aprendizaje profundo, la codificación one-hot. La codificación en caliente es un proceso que se utiliza para representar un conjunto de valores como datos binarios basados en categorías. Esta codificación crea una nueva columna binaria para cada categoría única. cada fila del conjunto de datos se le asigna un uno o un cero. Entonces, por ejemplo, considere un conjunto de datos con un color variable que tenga tres categorías únicas, rojo, verde y azul. Si usamos una codificación en caliente, esta variable se puede representar como tres nuevas columnas binarias. Cada fila del conjunto de datos tendrá uno en la columna correspondiente para asignar el color. Por ejemplo, si nos fijamos en la fila uno, que es hilo, el primer valor es uno y los otros dos valores son cero. Y en verde, el primero y el último valor es apenas cero y el medio es uno. Y en azul el último valor es uno. Los algoritmos de aprendizaje profundo, particularmente las redes neuronales, funcionan con datos numéricos. La codificación en caliente proporciona una manera conveniente para nosotros de convertir este tipo de variables categóricas en representaciones numéricas simples. Entonces, estos pueden usarse como entradas o incluso salidas para modelos de aprendizaje profundo. Usando una codificación en caliente, podemos manejar muchos tipos de variables de categoría. Esto suele ser difícil de manejar para otros modelos de codificación. Y finalmente, la codificación one-hot proporciona un mapeo claro entre las categorías y sus correspondientes representaciones numéricas. Así que esto facilita que el modelo interprete y analice los resultados de los modelos de aprendizaje profundo, por ejemplo, si intentamos construir un algoritmo para clasificar entre gatos y perros, una salida codificada en caliente nos será mucho más fácil convertirla en el resultado final. Espero que esta lección te ayude a entender cómo funciona la codificación one-hot. En la siguiente lección, veremos cómo TensorFlow puede funcionar con GPU y TPUs. No vamos a trabajar con GPU y TPUs y este proyecto, pero es genial que entiendas cómo puedes hacer uso de las GPU o TPUs si las tienes disponibles. 7. Trabaja con GPUs y TPUs: Entonces veamos cómo trabajar con GPU y TPUs usando TensorFlow no se verá qué son las GPU y las GPU, pero veamos con más detalle cómo podemos usarlas. Pero las unidades de procesamiento de TensorFlow, GPU o gráficos, y las GPU son unidades de procesamiento de tensores o diseño de hardware especial para acelerar el proceso de aprendizaje automático. Tienen muchos objetivos y pueden procesar datos mucho más rápido que las CPU tradicionales. Primero comencemos por ver qué dispositivos tenemos disponibles en este portátil Colab. Para eso, usaremos la lista de configuración de punto F. Dispositivos físicos. Se puede ver que B, sólo tenemos una CPU asignada para nosotros. Ahora, usemos nuestro tiempo de ejecución y asignemos una GPU. Podría cambiar de vez en cuando y convertirlo en una GPU. No te estaría mostrando cómo conectarte a un TPU porque la CPU siempre estará disponible. Entonces, veamos la GPU y cómo podemos trabajar con eso. Guardarla. Tan importante una vez que cambie el tiempo de ejecución, asegúrese de que su computadora portátil Colab esté recopilada y ejecute TensorFlow. Sólo hay que leer sobre el dólar de importación. No tienes que preocuparte por el resto. Vamos a alimentarnos de ello. Genial. Ahora veamos a qué dispositivos tenemos acceso. Ahí vamos. Podemos ver que tenemos una GPU o por bien para nosotros. En lo que respecta a TensorFlow , no tienes que cambiar entre CPU y GPU porque TensorFlow se encarga de ello automáticamente por ti. Si hay TPUs, el código será ligeramente diferente, pero no usarás TPUs a menos que estés trabajando con modelos de deep learning extremadamente grandes. Si quieres especificar un dispositivo que quieras usar para tu código, lo que puedes hacer es usar la función tf dot device y darle el nombre del dispositivo. Diría GPU Cielo. Y luego puedes escribir el resto de tu código en este bloque de código. Entonces todo el oro que hay en este bloque de código se ejecutará usando la GPU. Entonces espero que esta lección te ayude a entender qué son las GPU y las GPU y cómo puedes realmente hacer uso de ellas en tu código. En la siguiente lección, comenzaremos con nuestro proyecto real, que es una red neuronal de reconocimiento de escritura usando TensorFlow y obtenernos. 8. Prepara la modelo: Ahora que hemos aprendido y lo básico lento, comencemos a construir nuestro proyecto. Utilizaremos el conjunto de datos MNIST de dígitos escritos a mano para entrenar nuestro modelo. Mnist es el conjunto de datos de imágenes con 60,000 imágenes de entrenamiento y 10,000 imágenes de prueba. Por lo que podemos utilizar estas 60,000 imágenes de entrenamiento para entrenar nuestro modelo. Y podemos usar las 10,000 imágenes de prueba para ver qué tan bien funciona nuestro modelo. Estos dígitos oscilan entre 0 y 9. Cada imagen es de tamaño 28 por 28 y en escala de grises. Entonces, si nos fijamos en este bloque, el eje x es 28 y el eje y es 028. Cada píxel tendrá un valor que va de 0 a 255, por ejemplo , los bloques vacíos serán cero y los bloques más oscuros tendrán el valor de hasta 55. Entonces así es como se representa cada imagen en este conjunto de datos. Tendremos un total de 784 valores de píxeles por imagen. Si esto te queda claro, Empecemos agregando el código. Primero importará el conjunto de datos MNIST. Voy a crear una variable llamada MNIST. Y podemos obtener el conjunto de datos de Geddes, DFL, conseguirnos conjuntos de datos. Ahora voy a crear cuatro variables. Extreme, tren blanco y prueba x y prueba de bicicleta. Por lo que el tren x y el tren y se utilizarán para entrenamiento mientras que la prueba x y el escritorio y se utilizarán para las pruebas. Y voy a llamar a la función de carga de datos. Y debemos agregar la fecha descargada en estas variables. Entonces vamos a probarlo. Y un valor de x tren. Ahí vamos. Tenemos un 28 por 28. Y así una amplia gama sumará el valor de cinco. Entonces x tiene imágenes e Y tiene el valor real de las firmas. Ese es un paso importante que tenemos que hacer, que se llama normalización. Entonces cada píxel en esta imagen enlazará 0-255 y vamos a venir con sus rasgos a cero a uno. Entonces esto es para hacer que el conjunto de datos simple y fácil de entender para el modelo. Para normalizar estos, sólo voy a dividir todos los valores de la imagen por dos. Entonces x tren y x prueba se dividirían por división de ancho. Comprobemos esto dos veces. Ahí vamos. Ahora nuestros valores de imagen van 0-1 y 002, 55. El conjunto de datos de prueba X está listo. Ahora comencemos a construir nuestro modelo. Construiremos un modelo secuencial usando getters, como vimos antes. Acostúmbranos a ser una biblioteca individual para construir modelos de aprendizaje profundo, pero se ha integrado con TensorFlow. Keras solíamos codificar todas las capas ella misma. Fue bastante complicado e hizo que el hub de TensorFlow funcione. Pero con Geddes, es mucho más fácil para nosotros apilar un montón de capas juntas y construir una red de oro es moderno. Voy a llamar al modelo secuencial. Y mi primera capa, será una capa aplanadora. Entonces Kayla se detuvo. Pero aún así se aplana. La forma de entrada es de 28 por 28. Entonces, lo que hará esta capa es que tomará nuestro tensor 28 por 28 y convertirlo en una matriz unidimensional. Entonces nuestra capa de entrada no será una capa de 28 por 28, será una matriz unidimensional de 0784 capas. Entonces eso se pasará como entrada a nuestra red neuronal. Te mostraré una imagen al final de este modelo, por lo que te quedará mucho más claro. La siguiente capa sería una capa densa. Y esto tendrá 128 neuronas con una función de activación llamada relu. Las funciones de activación nos ayudan a capturar patrones y relaciones. Y esta activación de ReLu es una función de activación de uso común. Por lo que tomará la salida de la primera capa y sólo se les hace un valor positivo. Si la salida es negativa, devuelve cero. Por lo que esto nos ayuda a evitar valores negativos y acelerar el entrenamiento del modelo. La siguiente capa será una capa de deserción. Y estableceremos la tasa de entrega de 0.2. Por lo que la capa de deserción evita el sobreajuste. sobreajuste ocurre cuando nuestro modelo comienza a apoyarse en una salida específica, por ejemplo, si entrenamos nuestro modelo con 10,000 documentadores y mil imágenes, el modelo automáticamente tendrá un sesgo hacia los perros y clasificaremos más fotos de gatos de existencias. Entonces esta capa problemática nos ayuda a reducir eso. Los argumentos 0.2 especifican que la tasa rápida es del 20%, lo que significa que el 20% de las neuronas la lista anterior serán dejadas caer durante el entrenamiento. Finalmente, construiremos otra capa densa que será nuestra salida. Esto tendrá niños de 10 años ahí y vamos a imprimirlo. Modelo. Cometió un error de Messina común. Entonces nuestro modelo está listo. Esto es lo que hemos construido. Si nos fijamos en este modelo, la primera capa tiene tantas neuronas diferentes, que será la capa de entrada. Y esta capa aplana 28 por 28 imágenes más densas en un AT de salmón para una matriz unidimensional. Así que eso se pasará como entrada. Entonces tenemos la capa de activación, luego tenemos la capa de deserción, y finalmente, tenemos la capa de salida. Vamos a necesitar una capa más adelante en el proyecto, que será una capa softmax. Entonces todos estos resultados serán predicciones y no serán probabilidades. Entonces habrá puntajes. Y necesitamos una forma de convertir las puntuaciones en probabilidad real para que sepamos lo que el modelo está tratando de predecir. Así que acabamos de construir un modelo. Aún no está entrenado, pero solo le pasaremos algunos datos y veremos qué tan bien está funcionando. Crea una variable llamada predicciones, y llamaré al modelo y pasaré un valor de rayos X que haya pasado el primer valor. La razón por la que estoy usando este operador de rebanada es porque el operador de rebanada devuelve una matriz. La entrada tiene que ser una matriz de tensores. Entonces aunque sea un solo valor me hace a mí. Pero luego de otra manera, por eso estoy usando el operador slice. Devuelve una matriz de valores. Y permítanme imprimir predicciones. Verás que aquí va a imprimir un montón de partituras. Entonces hay valores positivos y negativos. Veamos que se llama softmax funciona. Entonces softmax es básicamente una capa que convierte un discurso en abejorros reales. Así que crea una capa llamada softmax y pásalo las predicciones. Veamos cómo surge. Entonces ahora tenemos probabilidades. Entonces esto quiere decir que el modelo está tratando de decirnos cuál es la probabilidad de que la entrada pertenezca a alguna de estas gafas entonces? Entonces el primero significa cero. segundo es uno menos dos, y el último es esta noche. Entonces tenemos probabilidades para cada número en el conjunto de datos. Entonces hagamos esto aún más simple y veamos qué se entrena el modelo para predecir. Para eso, solo convertiremos estas predicciones en hacer una matriz simple. Yo uso NumPy para hacerlo más sencillo y obtendré el primer aprendizaje. Porque como puedes ver, esto está dentro de otro, solo estoy agarrando este primer valor y lo voy a convertir en una lista de Python. Y voy a imprimir el valor máximo, el índice del valor máximo para simple array index match value of sub debajo de él. Entonces ahora podemos ver qué está tratando de predecir el modelo. Debbie vaya, está tratando de decir que son siete. Veamos cuál era el valor real. Así imprimir x tren de uno, así tren blanco de uno. Entonces el pico de valor real, pero nuestro modelo dice que son siete. Eso es porque nuestro modelo ya está entrenado. Entonces una vez que hayas entrenado a nuestro modelo, verás cuánto es el impulso espiritual. Entonces, con el bloque de código B jamás hecho a través de una red neuronal profunda de capa completamente conectada. Entonces, en el siguiente capítulo estaremos viendo optimizadores y función de pérdida y veremos por qué son importantes para nosotros para entrenar nuestro modelo. 9. Función de optimizador y pérdida: En esta lección, discutiremos el uso de las funciones de pérdida y cómo ayudan en el entrenamiento de redes neuronales profundas. También hablaremos de optimizadores y veremos cómo podemos usarlos para minimizar la función de pérdida. Terminamos la lección mirando el popular optimizador Adam, que usaremos para nuestro proyecto. Perdí la función también se conoce como función de costo. Es una función matemática que mide la diferencia entre la salida predicha de un modelo y el valor objetivo real. Entonces, cuando entrenamos una red neuronal, pero entradas y salidas, la red neuronal generará su propia salida. Luego compara esa salida con la salida real que hemos dado en el conjunto de entrenamiento. Entonces así es como aprende la red neuronal. El objetivo del proceso de entrenamiento es minimizar el valor de estas funciones de pérdida. Cuanto más cerca estén los valores predichos de los valores reales, menor será el valor de la función de pérdida. En el aprendizaje profundo, las funciones de pérdida nos ayudan a mejorar la precisión del modelo. Los parámetros del modelo se ajustan de tal manera que se minimiza la función de pérdida, dándonos mejores predicciones. La elección de la función de pérdida dependerá del tipo de problema que te encuentres. Por lo tanto, hay muchas funciones de pérdida como la función de pérdida de entropía cruzada. O si estás trabajando en otro problema de colisión, estarás usando algo así como un error cuadrático medio, función de pérdida. Medias agresivas, predicción de precios bursátiles, predicción de precios de vivienda y otros problemas similares. Puedes encontrar más recursos sobre la función de pérdida, la descripción del curso, voy a añadir un enlace para ti. Entonces ahora hablemos de optimiza. Los optimizadores son algoritmos que nos ayudan a minimizar la función de pérdida. Por lo que trabajan actualizando los parámetros del modelo tal manera que siga bajando el valor de la función de pérdida. Y como vimos antes, cuanto menor es la función de pérdida, mejor se entrena el modelo. Así que hay muchas opciones óptimas diferentes disponibles, cada una con su propia fuerza y debilidad. Un optimizador burbujeado se llama Adam optimizer. Adam optimizer es muy efectivo en una amplia gama de tareas de aprendizaje profundo y es una excelente opción para nosotros para este proyecto. Adam optimizer combina las ventajas del descenso de gradiente, que es un algoritmo más antiguo. Si has estudiado en el aprendizaje inicial, habrías escuchado hablar del descenso de gradiente. Entonces Adam optimizer es un implemento sobre el descenso de gradiente. Y además es computacionalmente muy eficiente. Aunque para comprender la lógica detrás estas funciones de costo y optimizarla por ahora, TensorFlow se encargará de todo por usted. Por ahora. Simplemente entienda que las funciones de pérdida nos ayudarán a reducir las predicciones del endosoma y optimiza ayudar a minimizar la función de pérdida. Entonces espero que entiendas cómo funcionan los optimizadores perdidos elegidos. En la siguiente lección, construiremos una función de pérdida y tú la tienes optimizada y comenzamos a compilar y entrenar nuestro modelo. 10. Compila y entrena el modelo: Entonces ahora vamos a crear la función de pérdida. Voy a usar la función de entropía cruzada categórica dispersa , que se usa comúnmente para los modelos de clasificación. Después ir a la función de pérdida de gol en Keras. Y voy a salvar de los logits es cierto. Estoy llamando a los logits porque las predicciones reales o lógicas de la diosa. Entonces por eso estoy diciendo que vamos a calcular pérdidas a partir de logits. Ahora vamos a compilar nuestro modelo. Y voy a especificar el optimizador, que será Adam. Y mi función de pérdida es suegros seguro que acabo de crear y voy a imprimir algunas métricas de precisión. Por ahora. Yo sólo quiero que vea la exactitud. Entonces esto nos dirá lo bueno está recibiendo nuestro modelo durante el entrenamiento. Nosotros tenemos, porque he cometido un error aquí. Entonces déjame correr esto y asegurarme de que el trazo esté correctamente. Esa es una palabra, dipolo. Simplemente ahora no es un seto, tan escaso esparcido por interreligiosos, esas cosas ahí. Y ahora vamos a compilar el dinero. Ahí vamos. Parte del módulo Compilado. Ahora comencemos a entrenar. Nuestro modelo se llamará modelo dot fit, que está ajustando los datos a la red neuronal. Y voy a pasarle valores extremos y blancos del tren. También voy a especificar una caja feeble para pelear. Entonces época significa una iteración. Entonces las épocas le dicen al modelo cuántas veces este modelo debería entrenar con este conjunto de datos. Entonces, si especificamos el e-book como 5k, el modelo de deep learning, pasamos por este conjunto de datos phi times. Esto es para que el modelo entienda cualquier patrón que se haya perdido durante la primera o segunda titulación. Para que puedas mejorar el trading incrementando la caja. Pero después de cierto punto de tiempo, la precisión comenzará a ser constante. Entonces eso significa el modelo como los pulmones tanto como pueda a partir de los datos dados. Entonces comencemos con la pelea de box y déjame entrenarlos. Se puede ver que el entrenamiento ha comenzado y se está llevando a cabo la primera titulación. Y puedes ver que nuestra precisión es ahora del 91%. Se va a rentar por ciento alto en la segunda iteración, y sigue mejorando de lo que se reduce la función de pérdida. Ahora agregamos la precisión del 97%. Aumentemos la caja a diez para que entiendas qué es exactamente lo que hace. Y cuando aumento la caja, este modelo ya está entrenado. Entonces puede ser entrenamiento. Entonces, si lo sigues entrenando desde este punto, así verás que la precisión inicial oscila. Yo hago el siete por ciento. Sí, tenemos a mi buena persona, pero va un poco abajo. Por lo que se puede ver que la precisión es ahora todo 98%. No se pone mejor que eso. Entonces este es un buen punto para que nos detengamos con nuestro conteo de bandeja de entrada. Entonces ese es solo un cierto número de vibraciones que se puede hacer con un modelo de aprendizaje automático. Ponlo de nuevo a cinco. Para que veas que el entrenamiento ya está completo y nosotros tenemos, estamos al 98% de precisión en escenarios del mundo real. Incluso si tienes una precisión superior al 80%, deberías tener un modelo de aprendizaje profundo decente. Nuestro modelo está capacitado y listo para predecir. En la siguiente lección, jugaremos con algunos valores de dígitos de muestra y veremos qué tan bien funciona nuestro modelo. 11. Predice los dígitos manuscritos: Así que hemos incorporado entrenado nuestro modelo. Ahora, veamos lo bueno que es nuestro modelo. Primero, usaremos la función de evaluación incorporada y pasaremos los datos de prueba y veremos qué tan bueno funciona el modelo. Vamos a probar eso. Peso al nacer moderno, prueba x y polvo blanco. Mucha verbosidad para que sepamos lo que sucede en el fondo. Por lo que tenemos una precisión de alrededor del 97%. La pérdida es de 0.7. Genial. Esto quiere decir que tenemos una hipoteca legal. Necesitamos agregar un paso más antes de comenzar a mirar los valores de predicción. Como vimos antes, este modelo imprime los puntajes para las predicciones. No nos da las probabilidades. Entonces agregaremos una capa softmax y luego veremos el problema que es. Ahora voy a crear otra capa de secuencia. Y los clubes son modelo existente y una capa softmax juntos. Hagámoslo. Llamaremos a esto el modelo de probabilidad. Entonces este modelo es el mismo que nuestro modelo existente, pero solo vamos a agregar una capa softmax. Entonces digamos el punto secuencial de Kayla. Y vamos a agregar nuestro modelo y una cuadrícula de capa softmax. Ahora nuestro modelo está listo. Entonces tomaremos algunos valores del conjunto de pruebas, que es x test e y test y veremos si estoy solo obtiene el valor es correcto. Esto es algo que hicimos antes, pero nuestro modelo estaba prediciendo todo mal. Ahora veamos cómo le va. Después de haber entrenado, voy a agregar otro bloque de código donde primero voy a imprimir el original. Llámalo original. Y va a ser un valor de polvo blanco. Paremos en cero. Veamos de qué manera hace esto. Son siete. Genial. Ahora reventaremos el valor de x test en la mezcla y se lo daremos a nuestro modelo y le pediremos que lo prediga. Entonces, si obtienes el mismo valor, significa que ese modelo está funcionando como se esperaba. Entonces digamos que la salida será modelo de probabilidad. Y voy a Autobus. El valor de la prueba X será cero. Entonces este es el primer valor. Entonces el elemento cero, por eso estoy diciendo que se llama The one. También se puede decir cero dorado. Ahora, voy a usar la misma lógica que hice antes, pero solo para convertir esto en array entre bytes y obtener el índice de la probabilidad máxima. Digamos que la salida es punto de salida no por agarrar el primer elemento y convertirlo en una lista. Y voy a convertir valor previsto del índice del máximo válido cuando la tasa de salida. Entonces por lo tanto está imprimiendo el valor original de lo que estamos pasando el valor x que pertenece a esta salida y lo estamos configurando o moderno para preguntarle al modelo qué piensa la entrada dada S. Entonces, si tenemos nuestro igual original y productivo, eso significa que a nuestro modelo le va bien. Probemos esta grilla o más. Lo entendiste, ¿verdad? Probemos otro llamado dual 1200. Haz el mismo trabajo. Ahí vamos. La religión es cinco y el valor predicho es cinco. Déjame probar uno más. Ir por 50. Melody solía ver el valor. Espectáculo. Ahí vamos. Es 4.4. Puedes jugar con diferentes entradas y verás que 97 de cada 100 veces nuestro modelo predecirá los valores correctamente. Tan gran trabajo. Hemos construido un modelo de aprendizaje profundo que funciona usando visión por computadora que predice dígitos escritos a mano. Solo puedes imaginar cómo otros problemas de clasificación como predicciones de Datadog y otros problemas de clasificación de imágenes de caballeros funcionan otros problemas de clasificación como las predicciones de Datadog y otros problemas de clasificación de imágenes de caballeros. Y estoy seguro que tienes algunas preguntas después de pasar por este curso. Así que por favor no dudes en ponerte en contacto conmigo. Puedes contactarme si estás atascado en algún momento y el coseno, estaré encantado de ayudarte a levantarte. Entonces hagamos un rápido resumen de lo que hemos visto hasta ahora. 12. Conclusión: Nuevamente, gran trabajo al terminar el curso. Has aprendido mucho. Empezamos por mirar tensores y cómo TensorFlow nos ayuda a construir y trabajar con tensores. Luego vimos cómo realizar operaciones en tensores y generalmente nos tiende usando matrices NumPy. También analizamos las funciones de pérdida y optimiza y cómo ayudan a mejorar nuestra red neuronal. Luego aprendemos a cargar el conjunto de datos MNIST y construir un modelo usando Keras. Finalmente, compilamos y entrenamos nuestro modelo para predecir dígitos escritos a mano. Espero que este curso te ayude a entender cómo trabajar con TensorFlow. Si tienes alguna duda, no dudes en ponerte en contacto con week. Vas a contactarme en help admonition shiva.com. Gracias por tomar este curso. Me encantaría escuchar tus comentarios para que el próximo curso sea aún mejor. Así que gracias de nuevo por tomar este curso. Nos vemos pronto con un nuevo tema.