‫Espero que esté listo, porque ahora es el momento de entrenar un modelo con los datos completos.
‫Verificamos que todo está funcionando revisando nuestros modelos, predicciones, evaluándolos y yendo, sí,
‫nuestro modelo definitivamente está aprendiendo algo.
‫Pero como solo lo hemos entrenado en mil imágenes, veamos si podemos entrenar un modelo a escala completa
‫como nuestro primer entrenamiento de modelo de aprendizaje profundo completo en más de 10000 imágenes.
‫Y aquí es donde realmente entrará en juego el poder de las funciones que creamos anteriormente.
‫Así que hagamos un pequeño rumbo para nosotros mismos, entrenando a un modelo, en realidad, llamémoslo entrenar a un modelo de
‫perro grande.
‫Y podríamos poner un poco de Mojie aquí.
‫Con los datos completos, se obtiene un modelo de perro grande, porque lo estamos probando con muchas imágenes de perros.
‫Amo este proyecto ahora.
‫Código, lo que necesitamos es recordar, justo en la parte superior, si no lo hace, está bien.
‫Vamos a echarle un vistazo ahora.
‫Tenemos X e Y, Lennix Y, y se trata de datos de entrenamiento.
‫Estos son los nombres de los archivos y estas son las etiquetas.
‫Entonces, si venimos aquí, X son todos los nombres de archivo en el tren.
‫Entonces, si echamos un vistazo al primero, tal vez 10 de X, 10 de X.
‫Estos son todos nuestros nombres de archivos de imagen de entrenamiento, los dividimos antes en X train, que tiene solo 800 de
‫longitud.
‫Aquí vamos.
‫Entonces, si echamos un vistazo al tren X.
‫Solo 800 imágenes, por lo que por el momento, nuestro modelo solo se ha entrenado en 800 imágenes, y
‫si queremos ver por qué, ¿por qué las etiquetas están asociadas con cada ruta de archivo?
‫En forma de Boulin de arroz.
‫Entonces, ¿qué debemos hacer para entrenar un modelo completo si volvemos a nuestro Keano, cuál es nuestro flujo de trabajo?
‫¿Preparar los datos, convertirlos en Tensas?
‫Bueno, tenemos una función para eso.
‫¿Te acuerdas?
‫Crea lotes de datos.
‫Si no lo hace, está bien.
‫Hemos creado una función para eso y podemos elegir un modelo que se adapte a su problema.
‫Así que lo tenemos.
‫Podemos usar crear modelo y luego ajustar el modelo a los datos y hacer una predicción.
‫Démosle una oportunidad.
‫Así que vamos a crear un lote de datos.
‫Con el conjunto de datos completo, aquí es donde las funciones realmente ayudan. Más adelante en su computadora portátil,
‫le dije que valía la pena para los datos es igual a crear lotes de datos.
‫Mire esto, esta es nuestra función que hemos escrito anteriormente, crea datos, lotes de datos de pares de
‫imágenes X y etiquetas Y, hermosa baraja los datos si está entrenando pero no lo hace.
‫Bueno, eso es un pequeño obstáculo que no podemos ver y que también acepta la entrada del testador.
‫Sin etiquetas.
‫Así que está bien.
‫No se trata de datos de entrenamiento, así que creemos un banco de datos completo.
‫Ahora echamos un vistazo a los datos completos.
‫Es un mal día para establecer bellos con imágenes y etiquetas, maravilloso, y si se está preguntando qué hace realmente crear
‫parches de datos.
‫Volvamos a subir si echamos un vistazo a nuestro índice aquí.
‫¿Que estamos haciendo?
‫¿Visualizando lotes de datos?
‫Convierta nuestros datos en lotes.
‫Así que aquí está nuestra gran función, crear lotes de datos, se necesitan X e Y.
‫Y esto es lo que está sucediendo, esto se debe a que es un conjunto de datos de entrenamiento, que crea datos de entrenamiento, insignias, convierte
‫X e Y en tiempos verbales.
‫Los baraja y luego mapea nuestra función de procesamiento de imágenes, así como también obtiene la función etiquetada a los
‫datos.
‫Y luego convierte los datos en un tamaño de lote de 32.
‫Pero ya hemos visto un video allí.
‫Entonces, si necesita un repaso, regrese y vea el video donde creamos esta función.
‫Así que volvamos a donde estábamos.
‫Así que ahora hemos recuperado nuestros datos.
‫Cual es el siguiente paso?
‫Bueno, necesitamos un modelo.
‫Así que creemos un modelo para el modelo completo para el modelo es igual a crear modelo.
‫Recuerda lo que hice la función de modelo de creación.
‫Oh, nada de doctor.
‫Hmm, bueno, ejecutemos eso de todos modos.
‫Podemos ir a verlo.
‫Entonces, construyendo un modelo con TFR dev image net, mobile net V2.
‫Entonces tenemos un modelo.
‫Bien, tenemos un conjunto de datos por lotes y tenemos un modelo.
‫Ahora, si queremos ver qué hace crear modelo, dónde está la construcción de un modelo.
‫Si venimos aquí, esta es nuestra función de creación de modelo, no tiene una doctrina, tal vez eso sea algo que
‫podría agregar.
‫Así que cree una función que construya el modelo de un cuidador.
‫Entonces, lo que va a pasar es seguir los pasos que tomó antes para crear un modelo secuencial usando
‫el modelo del que descargamos tienden a seguir el centro y una capa densa en la parte superior para asegurarse de que nuestras
‫salidas sean del mismo tamaño que las etiquetas. eso tenemos.
‫Va a compilar el modelo con una función de pérdida y optimizarlo, que es nuestro amigo Adam, el chico
‫en la parte inferior de la colina, diciéndonos cómo descender colina abajo en los campeonatos internacionales de descenso de
‫colinas y las métricas son la precisión es lo que nosotros ' es lo que estamos midiendo.
‫Y luego estamos construyendo el modelo alimentándose de la forma de entrada, que es el tamaño de nuestra imagen.
‫Maravilloso.
‫Vuelve.
‫Entonces, ¿cómo podemos entrenar esto?
‫¿Que sigue?
‫¿Qué hacemos a continuación?
‫Bueno, creamos algunas devoluciones de llamada, por lo que es posible que tengamos que realizar algunas devoluciones de llamada específicas para nuestros modelos.
‫Vamos a hacer eso.
‫Vamos a crear un modelo completo de devoluciones de llamada.
‫Modelo completo tenso a bordo de ECLSS.
‫Crear tablero, devolver la llamada.
‫Aquí vamos.
‫Existe nuestra función de antes para crear un 10 Bolkovac. Recuerde que la devolución de llamada de la placa Tensor nos
‫ayuda a rastrear el rendimiento de nuestro modelo y compararlo con otros.
‫Por lo tanto, no hay un conjunto de validación cuando se entrena con todos los datos.
‫Por lo tanto, sin una devolución de llamada de detención anticipada, no podemos monitorear la precisión de la validación, por lo que para nuestra parada anticipada en la devolución de
‫llamada, necesitamos una detención anticipada del modelo completo.
‫Es igual a dos cuidadores, devoluciones de llamada de puntos, parada anticipada de puntos.
‫Ahí vamos, y lo haremos para monitorear la precisión cuando nuestro modelo esté entrenando con los
‫datos del teléfono, cuando su precisión deje de aumentar durante tres épocas.
‫Vamos a hacer que deje de entrenar para que no se sobreajuste o intentaremos evitar
‫que se sobrealimente.
‫Así que cambia y entra.
‫Maravilloso.
‫Parece que podríamos tener una receta para comenzar a entrenar nuestro modelo, así que ajuste el modelo completo a los datos
‫completos.
‫Así que aquí es donde podemos ir.
‫Podemos optar por el modelo, no por el ajuste.
‫Así que solo llamamos al modelo que creamos.
‫El equipo X equivale a los datos completos.
‫Ahora, no hay un conjunto de validación, recuerde, porque estamos entrenando con los datos completos,
‫las épocas serán 100 o podrían ser NUM épocas porque hemos configurado Naameh Parks antes y vamos a tener devoluciones de llamada, que
‫son las dos devoluciones de llamada que acabamos de crear.
‫Ahora, esto es exactamente los mismos pasos que hemos hecho, entrenando un modelo más pequeño, pero esta
‫vez con más datos.
‫Maravilloso.
‫Y ahora voy a poner una pequeña nota aquí para darles un pequeño aviso y
‫lo voy a decir para que sepan que ejecutar la celda de abajo tomará un poco de tiempo, tal vez hasta 30 minutos o tal vez. un poco
‫más largo.
‫30 minutos para la primera época, porque la GPU que estamos usando y el tiempo de ejecución tienen que cargar todas las imágenes en
‫la memoria.
‫Entonces, el primer aeropuerto, recuerde, con nuestro modelo más pequeño en mil imágenes, el primer Depok tomó un par de
‫minutos, tal vez tres o cuatro minutos, como puede imaginar, porque este está en el conjunto de
‫datos completo.
‫Está entrenando con 10000 imágenes.
‫Por lo tanto, llevará un poco más de tiempo cargar todos los datos del primer APOC.
‫Entonces, antes de ejecutar esto, siempre que todos los códigos sean correctos, en realidad podría salir al aire.
‫Es por eso que, en lugar de probar todos los datos desde el principio, nos hemos asegurado de que todo funcione porque
‫al entrenar una máquina completa, el aprendizaje o un modelo completo de aprendizaje profundo.
‫Puede llevar bastante tiempo, y como tenemos mucha suerte aquí, esto se va a entrenar en una hora
‫porque estamos usando una GPU.
‫Pero podría imaginarse que si trabaja en una empresa más grande, podría dejar algo de entrenamiento durante una
‫semana.
‫Entonces, es por eso que desea asegurarse de que cuando configure experimentos, imagine entrenar un modelo de
‫aprendizaje profundo durante toda una semana y luego resulte que no estaba funcionando.
‫Por eso hicimos todos los pasos anteriores para asegurarnos de que todo funciona.
‫Entonces, antes de entrenar un modelo masivo, podemos estar seguros de que todo está en su lugar.
‫Iniciemos una ronda de entrenamiento completa.
‫Entonces estás listo.
‫Estamos a punto de entrenar nuestro primer modelo de aprendizaje profundo completo en más de 10000 imágenes.
‫La visión del perro se está convirtiendo realmente en una realidad.
‫Aquí conmigo, turno de tres a uno y entrar.
‫Crucemos los dedos, con suerte esto funciona, deberíamos ver aparecer una pequeña barra de carga, y como hemos
‫establecido el número de épocas en 100, seguirá entrenando hasta por 100 épocas.
‫Pero si deja de mejorar, tenemos nuestro modelo completo de devolución de llamada de detención anticipada que se detendrá en
‫el entrenamiento temprano y luego podremos verificar los resultados usando el tablero Tensor una vez que haya terminado.
‫Así que esperaremos a que comience, y luego lo que probablemente haré es pausar este video porque tomará
‫aproximadamente media hora.
‫Voy a tomarme un pequeño descanso.
‫Tal vez podrías dar un pequeño paseo por el chillout.
‫Oh.
‫Quizás te lleve un poco más de media hora.
‫Esta vez debería bajar a menos que mi prueba sea incorrecta.
‫Pero espere unos segundos y luego volveré a este video una vez que el modelo se haya detenido.
‫Entonces, una vez que el modelo detiene anticipadamente el modelo completo, se activa la devolución de llamada de detención anticipada.
‫De acuerdo, voy a dejar que esto se ejecute durante el tiempo que sea necesario.
‫Volveré una vez que mi modelo se haya detenido gracias a la parada anticipada y volveré a llamar.
‫Así que te veré en un par de segundos.
‫Pero para mí, serán un par de horas en el futuro.
‫Quizás también sean un par de horas en tu futuro.
‫Y estamos de regreso.
‫Muy bien, echemos un vistazo a nuestro modelo completamente entrenado.
‫Como puede ver, mi primera época tomó bastante tiempo y esto realmente tomará un momento si termina
‫esto, si ha pasado por esto.
‫Necesitas darte una palmadita en la espalda, porque esto es como un rito de
‫iniciación, entrenar tu primer extremo y la red neuronal de aprendizaje profundo y lleva mucho tiempo.
‫Una de las cosas que tendrá que descubrir cuando se convierta en un científico de
‫datos, un ingeniero de aprendizaje automático, son las formas de pasar el tiempo mientras se entrena su modelo.
‫Así que salí a pasear con mis perros porque este me llevó uno.
‫¿Cuántos segundos son eso?
‫Entonces cuatro mil setecientos treinta divididos por sesenta setenta y ocho minutos.
‫Así que poco más de una hora para hacer la primera época.
‫Pero como dije, después de que las imágenes se cargan en la memoria del GPS, compruebe qué tan rápido va después de eso.
‫Y lo que probablemente querrá hacer es que mientras esta celda se está ejecutando, debería
‫haberle dicho esto antes, pero puede tomar nota para el futuro, ya que esta celda se está ejecutando, desea tener un modelo
‫guardado ejecutándose después de esa manera. .
‫Una vez que su modelo deja de entrenar, gracias a la detención anticipada, nuestra llamada de detención anticipada vuelve a aparecer aquí.
‫Automáticamente llamará a nuestra función de guardar modelo y guardará nuestro modelo completo en nuestro directorio de modelos.
‫Ahora vengamos aquí y echemos un vistazo a los modelos.
‫Oh, tengo algunos ahí.
‫Veamos, será el que tenga el.
‫Ahí vamos, imagen completa, 2 de febrero y comencé alrededor de las 5:00 p. metro. Así que esta vez es realmente
‫incorrecta para mí porque no estoy seguro.
‫Tal vez la hora de la fecha no sea la hora adecuada para mí.
‫Pero ahí vamos.
‫Eso está salvado.
‫Aquí tenemos nuestro camino.
‫Así que ahora podemos echar un vistazo, nuestro modelo realmente terminó funcionando bastante bien.
‫Mira eso.
‫Eso es precisión de entrenamiento.
‫Pero soy un poco escéptico aquí.
‫¿Sabes por qué?
‫Porque no estamos validando esto.
‫Este es solo un modelo de entrenamiento con los datos de entrenamiento completos.
‫Así que vengamos aquí.
‫Está entrenando en todas las imágenes de este tren para X e Y.
‫Por lo tanto, no podemos realizar pruebas en un conjunto de validación, pero lo que podemos hacer es importar el conjunto de datos de prueba
‫que descargamos originalmente de Kagle.
‫Aquí vamos, el archivo de prueba y podemos importarlos, convertirlos en un grupo de datos y luego usar nuestro modelo para
‫hacer predicciones y enviarlas a Kagle.
‫¿Cómo?
‫Porque son así que nuestro modelo está guardado.
‫Probemos nuestra función de modelo de carga.
‫Tan cargado para modelo es igual a modelo de carga.
‫Solo vamos a copiar esta parte aquí.
‫De acuerdo, están cargando el modelo completo.
‫Y si copiamos esta línea aquí.
‫Llevar.
‫Bueno, no queremos ponerlo ahí.
‫Queremos ponerlo aquí como una cadena.
‫Veamos eso.
‫Maravilloso.
‫Eso está pasando, eso es lo que buscamos.
‫Entonces, nuevamente, estamos recibiendo esas advertencias en la documentación que dice que se pueden ignorar.
‫Está bien.
‫Ahora, ¿qué sigue?
‫Bueno, creo que ahora que tenemos un modelo completamente entrenado en todas las más de 10000 imágenes, creo que vemos cómo hacer
‫algunas predicciones sobre el conjunto de datos de prueba.
‫Así que hagámoslo en el siguiente video.