‫Entonces, ahora tenemos un modelo completamente entrenado en el conjunto de datos de entrenamiento completo, a. k. una. 10000 imágenes, porque si
‫miramos X.
‫Tengo 10000 imágenes y etiquetas. Usemos nuestro modelo completamente entrenado para hacer algunas predicciones.
‫En el conjunto de datos de prueba, que también tiene alrededor de 10000 imágenes, lo veré en un segundo.
‫Pero vayamos a Kagle y veamos cómo.
‫Quieren que nuestras predicciones se vean por lo que un archivo de envío para cada imagen en el conjunto de prueba, debe predecir la
‫probabilidad para cada una de las diferentes razas.
‫El archivo debe contener un encabezado y tener el siguiente formato.
‫Entonces necesitamos la raza de perro Idei uno.
‫Ni siquiera voy a fingir que voy a intentar pronunciar eso una vez más.
‫Sabueso afgano, Yorkshire terrier.
‫Y luego las probabilidades de predicción para todos esos.
‫Está bien.
‫Ahora dice Multiclass perdido hace mucho tiempo.
‫Esa es solo la predicción.
‫Probabilidades para cada raza de perro.
‫Cree otra sección de encabezado haciendo predicciones sobre el conjunto de datos de prueba.
‫Ahora, quiero que lo piense antes de revisar el código.
‫¿Qué tuvimos que hacer para entrenar nuestro modelo en las imágenes de entrenamiento?
‫Nuevamente, imagine que esto es independiente de los datos, independientemente de los datos con los que esté trabajando, ya sea texto o audio
‫o imágenes o video o algo así, ¿cuál es nuestro papel antes de que podamos usarlo con un modelo de aprendizaje automático?
‫O en nuestro caso, un aprendizaje profundo sin red.
‫Tenemos que convertirlo en números, así que eso es lo que tenemos que hacer, exactamente el mismo tipo de datos en el que
‫se entrenó nuestro modelo.
‫Entonces, los datos coinciden con el lote de datos de imágenes que necesitamos para crear una de esas imágenes de prueba para
‫que podamos hacer predicciones sobre esas imágenes.
‫Así que nos escribiremos una pequeña nota, ya que nuestro modelo ha sido entrenado con imágenes en forma de decenas de
‫lotes.
‫Hacer predicciones sobre los datos de prueba.
‫Tendremos que ponerlo en el mismo formato, así que si volvemos a nuestro gráfico y keynote.
‫¿Recuerda que siempre dije que nos enfocamos en las entradas, que estamos poniendo nuestros datos en la forma correcta para
‫nuestro algoritmo de aprendizaje automático y luego nos aseguramos de que las salidas sean correctas?
‫Esto es en lo que nos enfocamos al principio.
‫Esto ya se ha implementado para nosotros en gran medida.
‫A medida que profundizamos más y más, a medida que se adentra en otros proyectos, es posible que desee comenzar a sumergirse en
‫esto.
‫Pero por el momento y para abordar sus primeros proyectos como lo estamos haciendo ahora, se
‫centrará en las entradas y salidas.
‫Ahora, un pequeño dato aquí es, nuevamente, nuestras funciones son útiles, afortunadamente, creamos parches de creación de
‫datos antes, que pueden tomar una lista de nombres de archivos como importante, si no lo recuerda, vuelva
‫a donde creamos lotes de datos y convertirlos en decenas de lotes.
‫Entonces, ¿qué pasos tenemos que seguir para hacer predicciones sobre los datos de prueba?
‫Escribamos esos para hacer predicciones sobre los datos de prueba.
‫Bueno, esto es algo que hago con muchos de mis proyectos: hablar conmigo mismo, aprender a través de él,
‫la técnica del patito de goma.
‫Así que obtenga la imagen de prueba, los nombres de los archivos que nos obligarán a escribir solo una pequeña lista de comprensión como
‫lo hemos hecho antes para acceder a la prueba, revise todos los archivos aquí y guarde los nombres de los archivos en algún tipo
‫de lista.
‫Sí, podemos hacer eso y luego tenemos que convertir los nombres de archivo en lotes de datos de prueba usando crear
‫lotes de datos.
‫Y ambientación.
‫Los datos de prueba, recuerde cómo creamos los parámetros para crear lotes de datos, si no los tiene, está bien.
‫Vamos a ver en un segundo parámetro a verdadero porque ¿por qué?
‫¿En qué se diferencian nuestros datos de prueba de nuestros datos de entrenamiento?
‫No hay etiquetas con los datos de la prueba.
‫Entonces, dado que los datos de prueba no tienen etiquetas y finalmente hacemos una predicción, las predicciones son correctas
‫al pasar los lotes de datos de prueba a la predicción.
‫Método llamado en nuestro modelo, tenemos tres pasos allí, pero podemos hacerlos, podemos abordarlos uno por uno.
‫¿Qué tal si empezamos con el primero?
‫Eso es bastante lógico.
‫Cargar nombres de archivo de imagen de prueba.
‫¿Qué podíamos hacer?
‫Podríamos probar nombres de archivos, nombres simples y agradables, de hecho, podríamos configurar la ruta de prueba.
‫¿Qué tal si hacemos que la ruta de prueba sea igual?
‫Y lo copiaremos aquí para salvarnos, ejecutándolo dos veces.
‫Copiar ruta.
‫Ese es un pequeño consejo útil, puede hacer eso y pegar, no necesitamos contenido.
‫Podríamos mantenerlo allí si quisiéramos, pero lo eliminaré, por lo que es consistente
‫con las otras partes que tenemos y voy a poner este aquí.
‫Así que ese es mi camino a la carpeta de prueba.
‫Así que ahora vamos a crear una pequeña lista de comprensión igual a la ruta de prueba más el nombre de F
‫nombre de archivo para el nombre F en nuestra lista durante la ruta de prueba.
‫Ahora, hemos visto esto antes cuando creamos los nombres de los archivos de entrenamiento originales, pero recordemos lo que
‫está haciendo.
‫Entonces, nuestra lista solo pasa por un directorio de listas.
‫Para eso es la abreviatura, solo dice, oye, Python, consígueme todos los nombres de archivo en esta carpeta.
‫Y luego estamos creando una lista que agrega la ruta de prueba, que es todo esto suma la ruta
‫de prueba más cada nombre de archivo en.
‫La prueba de votación.
‫Echemos un vistazo, en caso de duda, ejecute el código.
‫Maravilloso.
‫Así que ahora tenemos los nombres de los archivos para nuestros datos de prueba.
‫Podemos quitarnos eso.
‫Obtén nuestro emoji de tecnología verde, este cuaderno estará lleno de ellos al final.
‫Bien, ahora lo tenemos.
‫¿Cuál es nuestro próximo paso?
‫Convierta los nombres de los archivos en lotes de datos de prueba utilizando crear lotes de datos.
‫Oh, dije cita allí.
‫Eso está mal.
‫Y lo arreglamos.
‫En primer lugar, hagamos una pequeña revisión de la longitud de nuestro teléfono de prueba y veamos cuántas imágenes tenemos.
‫Diez mil trescientos cincuenta y siete.
‫Maravilloso.
‫Entonces, ahora crear un lote de datos es bastante simple.
‫Solo traemos nuestra función, probamos datos, escribiremos un comentario aquí antes de comenzar.
‫Así que cree un lote de datos de prueba.
‫Y vamos a crear lotes de datos si sabe de lo que estamos hablando y luego le pasaremos los
‫nombres de archivo de prueba.
‫Y también veremos que hay encuestas de datos, por lo que probaremos que los datos sean verdaderos.
‫Y lo ejecutaremos.
‫Maravilloso.
‫Recibimos una pequeña impresión que dice crear datos de prueba, lotes, una función tan excelente que
‫escribimos, vengamos aquí y echemos un vistazo nuevamente, convirtiendo nuestros datos en lotes.
‫Entonces tenemos una función, crear lotes de datos o crear lotes de datos.
‫Y qué hace si son datos de prueba, que es, imprime esta pequeña declaración y
‫luego dice, oye, convierte nuestros nombres de archivo en tiempos verbales y luego usa de 10 a rebanadas para convertirlo en un conjunto de
‫datos tensorial y luego crea un lote de datos mapeando la función de imagen de proceso.
‫Recuerde, no pasamos get image label al conjunto de datos de prueba porque no hay etiquetas con el conjunto de datos
‫de prueba.
‫Así que procesamos nuestras imágenes como lo hicimos con los datos de entrenamiento y luego las convertimos
‫en un lote, en nuestro caso, lotes de tamaño 32 para que se puedan calcular muy rápido con nuestra GPU.
‫Así que volvamos a donde estábamos.
‫Eso es lo que tenemos.
‫Y si vamos a probar los datos.
‫Es un conjunto de datos por lotes de formas, por lo que no hay etiquetas aquí, estas son solo imágenes de dos a cuatro por dos
‫a cuatro por tres cuatro.
‫Los canales de color del tipo tensor flow flotan tan hermosos.
‫Tenemos nuestros datos de prueba en forma de lotes de tensores.
‫Eso es lo que buscamos.
‫Y ahora.
‫Al final, podemos subir aquí, ver lo útil que nos ha ayudado escribir nuestras funciones para empezar.
‫Hemos creado un modelo completo.
‫Hemos probado una base de datos que de un solo golpe.
‫Ahora vamos a hacer una matriz de predicciones.
‫Entonces, ¿cómo podemos hacer eso?
‫Realice predicciones sobre el lote de datos de prueba utilizando el modelo completo cargado.
‫Está bien.
‫Así que prueba las predicciones.
‫Águilas cargadas, modelo completo, no predicen.
‫Datos de prueba.
‫Vamos a establecer esto en ferbos igual a uno.
‫Excelente.
‫Ahora, tengo que advertirles que esto llevará bastante tiempo.
‫La razón es porque pongamos una pequeña nota aquí antes de ejecutar yo mismo, llamada de nota.
‫A pesar de que estamos ejecutando en una GPU, esto es
‫como entrenar nuestros modelos completos, por lo que el carbón predice en nuestro modelo completo y lo pasa, el lote de datos de prueba tardará mucho en ejecutarse.
‫Y luego va a ser algo así como un murciélago, ahora solo duraremos una hora.
‫Eso es lo que encontré de todos modos, la razón es que tenemos otras 10000 imágenes aquí y lo que tenemos
‫que hacer es cargar nuestro modelo completo.
‫Entonces, todos los patrones que nuestro modelo completo cargado ha aprendido y el conjunto de datos de entrenamiento,
‫tiene que pasar por ese proceso.
‫Las 10000 imágenes en nuestros nombres de archivo de prueba son nuestro lote de datos de prueba.
‫Y luego haga predicciones basadas en los patrones que encuentre en esos datos de prueba.
‫Así que hemos establecido verbose igual a uno para que cuando ejecutemos esto, nos dé otro pequeño paso
‫de tiempo para actualizarnos sobre lo que está sucediendo.
‫Así que sin más preámbulos, ejecutemos esto.
‫Y espere a que se cargue y luego haremos lo mismo nuevamente, todos aceleran el video para que
‫se cargue instantáneamente para usted.
‫En realidad, te llevará un tiempo ejecutar su celular.
‫En realidad, me llevará un tiempo ejecutar esta celda, pero solo lo estoy haciendo
‫para mostrárselo, cargando, creando un mensaje de ETA y luego haciendo algunas predicciones sobre el testador.
‫Así que esperaremos un poco, esto va a subir, ahí vamos.
‫Entonces son unos 38 minutos.
‫Tiene que pasar por 324 lotes.
‫Y eso es porque si va diez mil trescientos cincuenta y siete, dividido por 32.
‫Va a redondear eso a trescientos veinticuatro, de ahí proviene ese número.
‫Bien, voy a esperar a que esto pase.
‫Es posible que también deba esperar a que se procese.
‫En realidad, no tienes que esperar.
‫Regresaré en unos segundos.
‫Así que voy a pausar mi video aquí y regresaré en tres a uno.
‫Y ahora estamos de regreso.
‫He hecho algo un poco descarado aquí.
‫Como ve, nos queda como una hora.
‫Pero pensé que preferiría sentarme aquí y esperar esto.
‫De hecho, como cualquier buen chef, lo he hecho.
‫He preparado un plato antes, así que pasé por este proceso y esperé una hora completa para
‫completarlo.
‫Y ahora puedes esperar a que el tuyo pase.
‫Pero si desea descargar un ESV prefabricado de las predicciones de la prueba, adjúntelo en la sección del congelador para que no
‫tenga que esperar toda la hora para completarlo.
‫Y ahora probablemente debería haberte dicho esto antes de ejecutar esta celda, pero es bueno simplemente mojarse los pies
‫y luego encontrar una mejor manera de hacer las cosas.
‫Si quisiéramos que esto guardara las predicciones de prueba en un archivo CSB después de que se ejecute, porque si esperamos una hora completa
‫para que se complete y luego de alguna manera desconectamos el tiempo de ejecución y no salvó, sería
‫bastante decepcionante.
‫Entonces, lo que podemos hacer es usar ENPI, no guarde el texto de esta función aquí para guardar, ¿esta carga de revisión
‫mientras se está ejecutando?
‫No creo que lo haga.
‫Pero, ¿qué va a hacer esto? Oh, nos olvidamos de esta matriz de Fred.
‫Así que digamos que esto terminó.
‫Si ejecuté esta celda después de ella, se guardarán las predicciones de prueba, por lo que este
‫Nampara, que es una predicción, muestra las probabilidades de este archivo como un CSV con la coma delimitadora para los valores separados por comas.
‫Y luego, una vez que se guardó, aparecerá.
‫En nuestros archivos, como productor, no utilizo CSFI, porque ese es el nombre de archivo que le dimos, y luego
‫podemos usar y cargar texto para volver a cargarlo.
‫Entonces, ¿qué harás?
‫En lugar de esperar a que esto termine, solo te lo mostraré en acción, por lo que estas son
‫algunas probabilidades de predicción que hice en el pasado con un modelo completo.
‫Así que voy a detener esto.
‫Faltaba una hora.
‫Entonces, nuevamente, mi estimación de que tomará alrededor de una hora es incorrecta.
‫Así que el teclado interrumpe.
‫Aquí vamos.
‫Así que no vamos a ejecutar eso porque ya lo he guardado en Zarei, pero lo voy a ejecutar
‫allí.
‫Así que supongamos que he ejecutado esto después de que esta celda se haya completado.
‫Entonces esto ha llegado a cero.
‫Así que voy a cargar en desorden por una sensación de caída.
‫Hermosa.
‫Ahora echemos un vistazo a los primeros 10.
‫Ahí vamos, todas estas son probabilidades de predicción para las 10000 imágenes, así que echemos un vistazo a la forma
‫de las predicciones de prueba.
‫Diez mil trescientas cincuenta y siete, así que esa es la cantidad de imágenes de prueba que tenemos y cada una de
‫ellas tiene ciento veinte probabilidades de predicción diferentes.
‫Ahora, hemos visto estos valores antes.
‫Y recuerde, acabo de tomar esto, déjelo correr en su extensión, guarde este ASV en un archivo que hice antes,
‫como si hubiéramos cocinado algo antes y luego lo hubiera vuelto a cargar aquí.
‫Si mi tiempo de ejecución se desconecta, me gustaría que este archivo se guardara en algún lugar al que pueda acceder más tarde.
‫Entonces, ¿cuál es nuestra próxima misión? Si quisiéramos enviar esta matriz de predicciones a Kagle, ¿cómo
‫debería verse?
‫Así que el envío de muestra está aquí.
‫Oh, algo salió mal en tus datos.
‫Eso no es muy divertido, pero afortunadamente tengo este archivo y una visión de perro.
‫Y es un ASV, así que todo lo que hice es que lo descargué y abrí y las hojas de Google, así que así es como
‫se ve.
‫Este es el envío de muestra que necesitamos para obtener nuestra matriz de predicciones en algo como esto.
‫Entonces, una columna de ID y luego una columna para cada una de las diferentes razas de perros y luego sus probabilidades de predicción.
‫Entonces, eso es en lo que hemos trabajado en el siguiente video: las probabilidades de predicción, la
‫matriz para la visión del perro o, en realidad, volvemos al formato de identificación de la raza de perro Kagle.
‫Así que lo configuraremos así para que podamos enviar nuestras predicciones a Kagle.