WEBVTT

00:00.150 --> 00:05.400
Hola, amigos míos, y bienvenidos a esta nueva sección sobre la visualización de los resultados

00:05.400 --> 00:07.260
de lo profundo, convolucional, inmoral.

00:07.860 --> 00:13.530
En primer lugar, realmente quiero felicitarme por haber completado toda esta implementación del modelo

00:13.530 --> 00:15.650
de aprendizaje profundo y convolucional.

00:16.020 --> 00:22.410
Y ahora aquí estamos en la parte divertida donde vamos a visualizar los resultados del A. YO. creamos.

00:22.830 --> 00:27.420
Y como dije, al final del tutorial anterior, ya sabes, la última historia de la implementación,

00:27.750 --> 00:29.990
dije que tenía una sorpresa para ti.

00:30.000 --> 00:32.520
Y, bueno, la sorpresa es exactamente esta.

00:32.730 --> 00:35.550
Vamos a visualizar los resultados en Google.

00:35.550 --> 00:37.970
Kulab ¿Y por qué es una buena sorpresa?

00:38.220 --> 00:44.430
Esa es una buena sorpresa, porque básicamente no tendrá absolutamente ningún problema para ejecutar el código, ya sabe, ejecutar

00:44.430 --> 00:46.690
el código y visualizar los resultados.

00:47.160 --> 00:49.650
De hecho, esta es una característica nueva del curso.

00:49.650 --> 00:55.710
Ya sabes, antes de esto, en realidad solíamos ejecutar el código en Spider en Python, pero era extremadamente

00:55.710 --> 01:01.410
difícil, ya sabes, instalar todos los paquetes y aplicarlos a las dependencias del gimnasio y todas

01:01.410 --> 01:02.490
las diferentes dependencias.

01:02.820 --> 01:06.450
De hecho, muchos estudiantes tuvieron muchos problemas para instalar todo.

01:06.450 --> 01:11.550
Y al final, la mayoría de ellos no pudieron ejecutar bien, todo el código, y en su mayoría no pudieron ver

01:11.550 --> 01:12.360
los resultados finales.

01:12.630 --> 01:14.940
Así que absolutamente quería arreglar esto.

01:15.120 --> 01:19.860
Y realmente la mejor solución que se me ocurrió fue incluir el código completo.

01:19.870 --> 01:24.120
Entonces, tendrá exactamente el mismo código que hemos implementado en esta parte.

01:24.270 --> 01:30.300
Pero he incluido el código completo en un cuaderno de Google Kulab donde lo único que tendrá que hacer

01:30.300 --> 01:35.160
para ejecutar el código y visualizar el resultado será hacer clic en estos botones aquí.

01:35.190 --> 01:40.200
Eso es lo único que tiene que hacer, porque la belleza de Google Kulab es que la mayoría de

01:40.200 --> 01:42.060
las bibliotecas y paquetes ya están instalados.

01:42.180 --> 01:47.430
Por ejemplo, tenso floor ya está instalado por torturas ya está instalado en todos los módulos de antorcha,

01:47.430 --> 01:51.580
las funciones y clases ya están instaladas, por lo que no tienes que instalarlas.

01:51.810 --> 01:56.880
Sin embargo, todavía tenemos algunas pequeñas dependencias para instalar para asegurarnos de que todo esté bien conectado, pero

01:57.120 --> 02:02.850
no tendremos que instalarlas a través de una terminal o, ya sabes, a través del indicador de anakonda como hicimos

02:02.850 --> 02:04.560
en el auto sin conductor.

02:04.710 --> 02:10.230
Solo tendremos que hacer clic en este botón de reproducción aquí en esta primera celda instalando dependencias del sistema por

02:10.230 --> 02:10.680
sabiduría.

02:11.220 --> 02:13.800
Ahora, sé lo que algunos de ustedes podrían estar pensando.

02:13.830 --> 02:16.630
¿Por qué no hicimos lo mismo con el coche autónomo?

02:16.800 --> 02:22.050
Bueno, desafortunadamente, no pudimos hacer lo mismo porque en un módulo de automóvil autónomo, tuvimos las interacciones

02:22.050 --> 02:28.050
del usuario, ya sabes, cuando conectamos algo de sentido en el mapa para diseñar las carreteras y poner algunos obstáculos.

02:28.350 --> 02:34.710
Bueno, y afortunadamente, Google Kulab todavía no tiene esa característica de permitir algunas interacciones de usuario con

02:34.710 --> 02:35.760
algunos mapas.

02:35.760 --> 02:38.340
Así que no pude hacerlo por el auto sin conductor.

02:38.370 --> 02:39.390
Mis disculpas por eso.

02:39.630 --> 02:45.090
Pero es por eso que les di todo el capítulo de mi libro sobre el curso intensivo, que contiene todas las

02:45.270 --> 02:46.860
instrucciones sobre el automóvil autónomo.

02:46.860 --> 02:49.440
Espero que puedas instalar todo correctamente de todos modos.

02:49.440 --> 02:51.930
No había mucho que instalar en comparación con hacerlo.

02:51.930 --> 02:56.490
Espero que todo haya ido bien para el auto sin conductor, pero para Doom aquí, ahora está cubierto.

02:56.670 --> 03:00.760
No tendrá ningún problema para ejecutar el código y visualizar los resultados.

03:00.760 --> 03:01.770
Entonces esa es la sorpresa.

03:01.980 --> 03:02.910
Espero que te guste.

03:03.120 --> 03:08.040
Y ahora voy a guiarte a través de toda esta implementación para mostrarte que de hecho

03:08.040 --> 03:11.430
tenemos exactamente el mismo código que implementamos en esta segunda parte.

03:11.730 --> 03:14.610
Lo único es que fusioné los tres códigos.

03:14.610 --> 03:19.770
Ya sabes, este es un código que teníamos en la carpeta, ya sabes, compuesto por el procesamiento de imágenes que sentí luego, la

03:19.780 --> 03:25.560
experiencia de repetición que sentí y la A. YO. que sentí con las dos partes, la primera,

03:25.560 --> 03:28.110
la creación de datos y la parte de entrenamiento de los datos.

03:28.410 --> 03:34.750
Bueno, lo que simplemente hice fue fusionar los tres poniendo primero la imagen, preprocesando que sentí que luego les

03:34.950 --> 03:37.560
mostraré eso en el libro de trabajo.

03:37.560 --> 03:40.440
En segundo lugar, la experiencia es tan hermosa.

03:40.560 --> 03:46.140
Y tercero, el área que sentí allí, una debajo de la otra en ese orden.

03:46.320 --> 03:48.150
Bien, entonces te mostraré esto.

03:48.300 --> 03:54.120
Y luego tuve que cambiar dos o tres cosas en todo este código y les mostraré exactamente los cambios

03:54.120 --> 03:59.550
para que puedan asegurarse de captar la diferencia básicamente en que, bueno, todo es igual y que,

03:59.730 --> 04:01.980
bueno, todo es lo mismo también.

04:02.010 --> 04:04.800
Sin embargo, absolutamente ningún cambio en ese archivo.

04:05.040 --> 04:10.720
Bueno, aquí, cuando ingresamos los paquetes para abrir y hacerlo bien, no usamos ese paquete.

04:10.740 --> 04:13.380
Espacio de acción de envoltorios Dhoom para importar a este grupo.

04:13.410 --> 04:14.880
Ya no usamos eso.

04:15.000 --> 04:15.960
Usaremos algo más.

04:15.960 --> 04:16.410
Verás.

04:16.710 --> 04:21.870
Y también cambié las dimensiones de los marcos aquí, 80 por 80.

04:22.080 --> 04:29.040
Cambié eso a 256 por 256 para que pueda tener mejores resultados de visualización, porque tendrá videos

04:29.040 --> 04:30.990
más grandes para ver.

04:30.990 --> 04:32.490
OK, eso es lo que cambié.

04:32.490 --> 04:32.970
Te mostrare.

04:32.970 --> 04:38.880
Ahora, comencemos con el procesamiento de imágenes, porque de hecho, como les dije, acabo de fusionar los tres

04:38.880 --> 04:39.360
archivos.

04:39.450 --> 04:43.200
Así que comenzamos con el procesamiento de imágenes de la forma P.

04:43.470 --> 04:45.780
Y como puede ver, esto es exactamente lo mismo.

04:45.960 --> 04:49.290
Comenzamos importando las bibliotecas, exactamente las mismas aquí.

04:49.590 --> 04:56.010
Luego, preprocesamos las imágenes con la clase de imagen de preprocesamiento compuesta por el método Init y el método de

04:56.010 --> 04:56.460
observación.

04:56.700 --> 04:59.700
Y como puede ver, esta es exactamente la misma imagen previa al proceso.

05:00.150 --> 05:02.350
Y método admitido y de observación.

05:02.490 --> 05:09.300
Muy bien, luego pasamos a la experiencia con el juego donde tenemos exactamente lo mismo que importamos por primera vez

05:09.300 --> 05:12.210
a las bibliotecas aquí, nombres en la acera.

05:12.420 --> 05:12.870
Correcto.

05:13.170 --> 05:17.130
Luego definimos un paso exactamente igual al que tenemos aquí.

05:17.340 --> 05:23.700
Y luego hacemos un progreso en varios pasos finales, pasos con la clase de progreso del paso final, que

05:23.700 --> 05:26.790
es exactamente igual que en el libro de trabajo.

05:26.790 --> 05:27.170
Correcto.

05:27.180 --> 05:29.250
Acabo de copiar y pegar aquí.

05:29.280 --> 05:31.290
Tuvimos exactamente el mismo método de inicio.

05:31.290 --> 05:34.650
Es un método y el método de pasos de recompensa.

05:34.770 --> 05:40.440
Muy bien, entonces, por supuesto, implementamos la reproducción de experiencia con la clase de memoria de reproducción.

05:40.590 --> 05:44.130
Y como puede ver, tenemos exactamente lo mismo en el color de Google.

05:44.130 --> 05:49.560
Además, tal vez aprecie más la estructura porque agregué algo de textura para que, ya sabe, pueda ser

05:49.560 --> 05:52.680
aún más agradable de visualizar en este libro de trabajo.

05:52.710 --> 05:53.160
Todo bien.

05:53.170 --> 05:58.710
Por lo tanto, repita los pasos de ejecución por lotes de muestra del método init de la clase de memoria, básicamente exactamente el mismo código.

05:58.830 --> 05:59.310
Todo bien.

05:59.640 --> 06:06.750
Y luego pasamos a la tercera falta de fordismo en ambos sentidos con respecto a las dos partes, la parte uno, la construcción y la

06:07.380 --> 06:09.200
parte, el entrenamiento de los datos.

06:09.210 --> 06:12.480
Déjame mostrarte que tenemos exactamente lo mismo en este libro de trabajo.

06:12.810 --> 06:17.990
Así que supongo que de cualquier manera, primero importamos las bibliotecas, exactamente las mismas.

06:18.000 --> 06:23.070
Bien, como puede ver, entonces aquí, esa es la diferencia que ya destaqué al importar los

06:23.070 --> 06:29.880
paquetes para abrirlos y hacerlo bien en lugar de importar Jim Webers y luego omitir el envoltorio y el paquete para

06:29.880 --> 06:30.990
importar a esto.

06:31.620 --> 06:34.410
Bueno, lo que hacemos es realmente importar a Jim.

06:34.410 --> 06:40.020
Eso es lo mismo, entonces importa sabiduría, Jim, que son los nuevos entornos Dhume, básicamente, que

06:40.020 --> 06:41.670
fueron realmente, bueno, mejorados.

06:41.850 --> 06:44.960
Y finalmente los Raptors por la Biblioteca Jim.

06:44.970 --> 06:45.330
Todo bien.

06:45.330 --> 06:50.280
Entonces, solo esta diferencia aquí, lo que hará que esto funcione en Google Kulab y también en Python si

06:50.280 --> 06:51.030
desea ejecutarlo.

06:51.360 --> 06:56.280
Y luego, por supuesto, no tuve que incluir ese código en Google Kulab simplemente porque aquí importamos

06:56.280 --> 06:59.280
los otros archivos aquí, ya sabes, porque están separados.

06:59.490 --> 07:04.350
Y como fusioné los tres archivos en color de Google, bueno, no necesito hacer esta importación.

07:04.350 --> 07:08.190
Así que aquí pasamos directamente a la primera parte, construyendo el área.

07:08.490 --> 07:13.110
Y aquí, como les dije, tenemos exactamente el mismo código excepto por las dimensiones aquí.

07:13.170 --> 07:13.590
Correcto.

07:13.800 --> 07:17.280
Si miramos la primera parte aquí, la primera parte del edificio, sí.

07:17.280 --> 07:20.820
Empezamos haciendo el cerebro con la C y la clase.

07:21.000 --> 07:25.890
Y como puede ver, tenemos exactamente el mismo código excepto por las dimensiones de los marcos de entrada

07:25.890 --> 07:28.950
aquí, que eran cuando implementamos el código ochenta por ochenta.

07:29.250 --> 07:37.200
Pero cambié ese Google Kulab a 256 por 256 para que puedas tener mejores marcos y, por lo tanto, mejores videos

07:37.200 --> 07:38.060
para ver.

07:38.100 --> 07:40.460
Está bien, pero todo lo demás es exactamente igual.

07:40.470 --> 07:46.470
Entonces aquí hacemos el cerebro con la clase CNN, luego hacemos el cuerpo con la clase softmax body.

07:46.470 --> 07:48.900
Exactamente lo mismo que tenemos aquí.

07:49.050 --> 07:54.660
Y finalmente, juntamos todo con la A. YO. clase, inclinar el cerebro y

07:54.840 --> 07:58.140
el cuerpo, y también algún método para realizar las acciones.

07:58.140 --> 07:58.560
¿Correcto?

07:58.710 --> 08:04.740
Exactamente la misma clase de edad compuesta por el cerebro en el cuerpo y luego el mismo método para realizar las

08:04.740 --> 08:05.220
acciones.

08:05.340 --> 08:05.820
Todo bien.

08:06.150 --> 08:07.160
Exactamente igual.

08:07.160 --> 08:09.510
Solo cambiaron las dimensiones de los marcos de entrada.

08:09.750 --> 08:13.700
Y ahora pasemos a la segunda parte, que también será exactamente igual.

08:13.710 --> 08:16.650
Primero, logramos el entorno de fatalidad correcto.

08:16.650 --> 08:18.420
Déjame mostrarte la segunda parte aquí también.

08:19.020 --> 08:21.000
Primero tenemos el medio ambiente.

08:21.000 --> 08:27.810
Y acá recuerda eso ya que ya no lo usamos para mejorar el medio ambiente, sino sabiduría.

08:28.050 --> 08:31.500
Bueno, lo único que cambió en ese código es de hecho esto aquí.

08:31.500 --> 08:33.030
¿Y obtuvimos la sabiduría de Cawdor?

08:33.030 --> 08:35.490
Pero este es exactamente el mismo entorno.

08:35.880 --> 08:36.330
Todo bien.

08:36.330 --> 08:40.620
Y luego, por supuesto, cambio estas nuevas dimensiones para que puedas tener videos más grandes aquí.

08:40.620 --> 08:46.080
Entonces ya no tenemos ochenta por ochenta, pero esta vez 256 por 256.

08:46.350 --> 08:48.150
Y luego tenemos exactamente lo mismo.

08:48.150 --> 08:52.620
Obtenemos la demanda y el número de acciones que verá será siete.

08:53.190 --> 08:59.250
Luego construimos la API creando el objeto cerebral, ya sabes, CNN, luego el objeto corporal softmax body y

08:59.250 --> 09:05.310
luego toda el área compuesta por el cerebro y el cuerpo exactamente igual a lo que implementamos juntos.

09:05.800 --> 09:07.890
En ese momento configuramos la experiencia Freeplay.

09:07.890 --> 09:09.660
Entonces eso es exactamente lo mismo aquí.

09:09.960 --> 09:11.880
Y luego implementamos la elegibilidad.

09:11.880 --> 09:13.950
Treis sigue siendo exactamente el mismo.

09:14.100 --> 09:15.560
¿Y luego que hacemos?

09:15.570 --> 09:18.780
Bueno, hacemos la media móvil en cien pasos.

09:19.230 --> 09:20.330
Ejecutivos, lo mismo aquí.

09:20.340 --> 09:21.900
Entonces ese es exactamente el mismo código.

09:22.110 --> 09:27.950
Básicamente, solo cambiaron las dimensiones de los marcos y la forma de importar el entorno.

09:27.960 --> 09:33.030
Bien, y finalmente entrenamos a la IA con exactamente el mismo código.

09:33.190 --> 09:39.180
De acuerdo, hasta aquí tenemos todo el código que viste en la carpeta.

09:39.330 --> 09:44.610
Cuando descarga el conjunto de datos y el código de nuevo, básicamente también tenemos el código completo que implementamos

09:44.610 --> 09:45.120
juntos.

09:45.510 --> 09:49.440
Sin embargo, luego para que la visualización funcione en Google.

09:49.440 --> 09:57.060
Kulab Bueno, agregué este código adicional, pero dado que en realidad es solo específico para este cuaderno de colores

09:57.060 --> 09:59.580
y también solo específico para visualizar.

09:59.730 --> 10:05.850
El AIA en acción en el entorno de Doom te complacerá, no tienes que preocuparte por entender todos los códigos que están

10:05.850 --> 10:10.380
aquí porque, ya sabes, solo lo verás una vez en tu vida cuando quieras construir y

10:10.560 --> 10:13.300
entrenar algunos A. YO. para jugar en el medio ambiente.

10:13.500 --> 10:17.490
Lo que quiero decir es que no tendrá que usar este código para las otras aplicaciones.

10:17.490 --> 10:21.980
Trabajará en un edificio y se capacitará en A. YO. Así que no te preocupes demasiado por esta chica.

10:21.990 --> 10:25.920
Solo agregué eso para que funcione en Kulab, pero veamos qué hago.

10:26.070 --> 10:32.100
Primero en las bibliotecas, por supuesto, luego agregué algunos códigos prácticos aquí para que puedas ver muy rápidamente la cantidad

10:32.100 --> 10:37.920
de acciones que tienes en el entorno, así como una visualización del marco del entorno solo para ver cómo

10:37.920 --> 10:39.180
es. me gusta.

10:39.420 --> 10:45.030
Y la razón por la que agregué eso es porque también les voy a mostrar cómo jugar con otros entornos doomer porque

10:45.030 --> 10:46.710
en realidad tienen muchos de ellos.

10:46.980 --> 10:53.220
Entonces, lo que simplemente tendrás que hacer es reemplazar el corredor de la sabiduría por el nombre de los otros entornos que

10:53.370 --> 10:54.110
están aquí.

10:54.120 --> 10:57.180
Les voy a dar el enlace de esa página hasta este tutorial.

10:57.450 --> 11:02.290
Pero aquí, como puede ver, tiene muchos entornos Dhoom con los que puede jugar, ya sabe, algo de

11:02.340 --> 11:03.180
sabiduría básica.

11:03.180 --> 11:07.800
Korder, que es con el que vamos a jugar ahora mismo, Wisdom Defense Center y otros.

11:07.810 --> 11:09.840
E incluso tienes algunos laberintos interiores.

11:09.840 --> 11:11.700
Y solo sigue las instrucciones aquí.

11:11.850 --> 11:13.860
Los encontrará todos en esta carpeta.

11:14.040 --> 11:20.250
Sabes, en esto en su método, puedes encontrar el nombre aquí con algo de sabiduría básica, es algún centro de

11:20.250 --> 11:20.640
defensa.

11:20.760 --> 11:22.620
Y tienes muchos, muchos de ellos, ¿ves?

11:22.620 --> 11:27.930
Entonces, si quieres jugar con otros entornos de Doom de forma gratuita para hacerlo, solo tendrás que

11:27.930 --> 11:29.850
cambiar el nombre del entorno.

11:29.850 --> 11:34.020
Cada vez que vea el color de la sabiduría aquí en este libro de trabajo, simplemente reemplácelo por el nombre.

11:34.230 --> 11:39.570
Y gracias a este código y a este, bueno, podrás ver rápidamente cuál es el número de acciones,

11:39.570 --> 11:45.090
las dimensiones de la forma de entrada y también una visualización del marco para ver cómo se ve el

11:45.240 --> 11:47.190
entorno así será bastante práctico .

11:47.550 --> 11:50.700
Luego hice esta función auxiliar para la visualización.

11:51.000 --> 11:55.590
Luego ejecuto el A. YO. en un episodio, por supuesto, después de que se entrena.

11:55.590 --> 11:57.780
Así que primero lo entrenaremos aquí.

11:57.780 --> 12:02.310
Como pueden ver, por cierto, olvidé decirte que también cambio un número de épocas de

12:02.310 --> 12:07.770
100 a veinte y eso simplemente porque, ya sabes, aumenté las dimensiones del marco y como aumenté las dimensiones

12:07.780 --> 12:12.210
del marco, bueno, el entrenamiento llevará mucho más tiempo porque, por supuesto, es más difícil

12:12.210 --> 12:12.720
entrenar.

12:12.870 --> 12:17.040
Y por tanto reduje el número de cien épocas a veinte.

12:17.160 --> 12:20.970
Está bien, y no te preocupes, ya obtendremos recompensas positivas.

12:20.970 --> 12:25.170
Pero, por supuesto, si desea mejorar el rendimiento y mejorar los resultados al final, no dude en aumentar

12:25.170 --> 12:26.640
esa cantidad de libros electrónicos.

12:26.730 --> 12:28.290
Obtendrá resultados aún mejores.

12:28.290 --> 12:32.190
Pero verás que ya con Twenty Époque, la formación llevará bastante tiempo.

12:32.310 --> 12:33.720
De acuerdo, todo correcto.

12:33.720 --> 12:35.370
Entonces, ¿dónde estaba yo?

12:35.400 --> 12:37.530
Sí, esa función auxiliar para la visualización.

12:37.530 --> 12:41.490
Luego ejecuto el aire en un episodio, por supuesto, después de que esté entrenado.

12:41.670 --> 12:48.570
Y finalmente, esta última celda de código generará el video del juego, ya sabes, en este episodio

12:48.570 --> 12:54.540
y verás cómo funcionará la IA en este episodio en un video, que se emitirá

12:54.540 --> 12:56.670
y que podrá descargar.

12:56.760 --> 12:59.790
Y falta está aquí, ya sabes, cuando ejecutamos este código.

12:59.910 --> 13:01.260
De acuerdo, todo correcto.

13:01.350 --> 13:03.150
Así que ahora toca la ejecución.

13:03.150 --> 13:06.390
Es hora de sentarse cómodamente en nuestra silla.

13:06.390 --> 13:08.310
Espero que te tomes un buen café o un buen ver.

13:08.520 --> 13:14.010
Ahora solo vamos a presionar los diferentes botones de reproducción y cada una de las celdas para ejecutar el resultado final.

13:14.010 --> 13:14.790
Así que hagamos esto.

13:15.060 --> 13:17.780
Pero primero, y eso es muy importante de entender e ir.

13:17.790 --> 13:23.520
Kulab Este es el enlace de un libro de trabajo de Google Kulak, al que todos tienen acceso.

13:23.790 --> 13:28.170
Y por lo tanto, por supuesto, no se puede modificar nada en él, porque si uno de ustedes

13:28.260 --> 13:30.000
modifica bien, los demás verán la modificación.

13:30.210 --> 13:34.800
Entonces esto está en modo de solo lectura y por lo tanto lo que tienes que hacer para hacer

13:34.800 --> 13:38.940
algunas modificaciones, ya sabes, en caso de que quieras cambiar el nombre del entorno o aumentar el

13:38.940 --> 13:45.840
número de épocas o incluso afinar tu A. YO. , bueno, tendrá que crear una copia de este libro de trabajo, que

13:45.870 --> 13:47.160
estará en su propio Google Drive.

13:47.160 --> 13:52.560
Y es por eso que para hacer eso, necesitará una dirección de Gmail para poder tener una unidad de

13:52.560 --> 13:52.950
Google.

13:52.950 --> 13:55.500
Bien, asegúrate de tener uno.

13:55.500 --> 14:01.280
Y una vez que ese sea el caso, bueno, solo necesita hacer clic en el archivo aquí y luego guardar una copia y conducir.

14:01.280 --> 14:07.380
Esto creará una copia de este libro de trabajo en su propio Google Drive en el que podrá

14:07.500 --> 14:08.610
hacer algunas modificaciones.

14:08.610 --> 14:09.150
Todo bien.

14:09.480 --> 14:12.900
Y ahora aquí estamos al comienzo de esta ejecución.

14:12.900 --> 14:18.240
Así que ahora vamos a jugar todas las celdas y nos vamos acercando más y más al resultado

14:18.240 --> 14:18.660
final.
