Hola y bienvenidos a esta historia, casi el título final de este módulo.
Solo voy a explicar el código principal que ejecutará todo antes de obtener los resultados
emocionantes y ver los videos.
Este es el código principal y, como pueden ver, es bastante corto.
Comenzamos por importar las bibliotecas y los módulos y también las diferentes clases y funciones
que hicimos como Altikriti desde nuestro archivo de modelo.
La función de tren del archivo de tren y la función de prueba del archivo de prueba y,
por supuesto, importamos nuestro optimizador.
Luego comenzamos con la primera sección donde ingresamos a una clase con todos los parámetros.
Y esto es esto tal vez.
Recuerde que este es el objeto de BRAM que creamos a partir de esta clase de harams.
Cada vez que tenemos un parámetro como la tasa de aprendizaje, no nos falta.
Entonces, repasemos rápidamente.
El primero o aquí son las tasas de aprendizaje.
Entonces, como puedes ver, elegimos un pequeño y calificas el segundo es el parámetro.
Nuevamente lo tomamos como 0. parámetro OneTel un conjunto de 1 16 procesos 20 pasos y una longitud máxima de 10000.
39 tomamos un
Y hablamos de que este es el parámetro que establecemos para asegurarnos de que el agente no se quede atascado indefinidamente en
un estado del entorno, por lo que esto detendrá el juego.
Si la duración del episodio supera esta longitud máxima y, finalmente, por supuesto, obtenemos el nombre de
nuestro entorno.
Romper es cero.
Y, por cierto, también puedes jugar en otros entornos simplemente cambiando el nombre del entorno
aquí.
Entonces, si quieres jugar a otras versiones destacadas o incluso a algunos otros juegos de
Atari, puedes reemplazar este cero por otros juegos.
Pero puedo decirles que el video de presentación ya es muy desafiante.
Muy bien, así que todos los parámetros aquí.
Y luego está el código principal para la ejecución principal.
Y entonces, veamos qué hacemos en esta primera línea.
Establecemos un hilo por núcleo.
Paramjit que inicializará todos estos parámetros aquí porque hay variables asociadas a este objeto de BRAM.
Luego, en la segunda línea obtenemos todos los renderizadores, ya sabes, creando un nuevo objeto de
la clase
Luego establecemos la semilla.
Luego obtenemos nuestro entorno utilizando el árbol Crear y la función con el nombre de nuestro entorno, que se
rompe de cero.
Ves células que nombran y, por lo tanto, el parámetro y el nombre es bastante cero.
Entonces eso nos conseguirá el ambiente de ruptura.
de crear un entorno, pero usted sabe que debe mejorar todo el proceso y mejorar el rendimiento.
Y, por cierto, esta no es la forma habitual
Bueno, usamos esto para crear un ambiente optimizado y esto lo hacemos. El universo del universo es un
paquete que viene con todos los paquetes que instaló en el motor abierto.
Bien, gracias al universo obtenemos un entorno optimizado.
Esto es de lo que se trata aquí.
Luego obtenemos nuestro modelo compartido creando un objeto de la clase crítica activa.
Y aquí es importante comprender que este modelo compartido es el modelo compartido por los
diferentes agentes.
Entonces tenemos diferentes hilos en diferentes cursos.
Y hablando de amenazas en la próxima línea aquí, modelo fruncido que comparte memoria, lo que hacemos es almacenar el modelo en
la memoria compartida de la computadora para que todos los hilos puedan tener acceso a ella aunque
estén en un rumbo diferente.
Entonces eso es lo que hacemos aquí.
Esto es para habilitar esto, luego tenemos nuestro optimizador vinculado a los parámetros de nuestro modelo compartido y con una
tasa de aprendizaje de un punto o uno.
la memoria compartida para que todos los agentes puedan acceder a ella para optimizar el modelo.
Y de nuevo, es importante entender que el optimizador también se comparte porque va a actuar sobre el modelo compartido
y diciendo que la próxima línea optimizada que comparte memoria almacenamos el optimizador en
Luego, inicializamos nuestros procesos para que el proceso de prueba no actualice el modelo compartido, pero solo lo usa para
probarlo en una parte e imprimir el puntaje y grabar los videos.
Entonces eso es exactamente lo que se hace aquí con Target es igual a prueba.
Ese es el proceso de prueba y este proceso aquí está cortado de la tortura que preprocesamiento múltiple.
Entonces, aquí y lo que hace es que básicamente ejecuta una función en un hilo independiente.
Entonces, cuando reiniciamos, comenzamos un nuevo proceso que fue el año pasado inicial en este momento.
Y luego, con este proceso para agregar P, agregamos el proceso en la lista de procesos.
Y finalmente en este ciclo aquí hacemos un ciclo para ejecutar todos los otros procesos que serán entrenados
al actualizar el modelo compartido.
Y eso es básicamente lo que sucede en las últimas líneas de código aquí.
Entonces, si no quiere entrar en detalles, lo importante es entender que esto ejecutará los procesos
de una manera óptima y, por lo tanto, todos deberíamos ser buenos para ejecutar este código
y tener un modelo capacitado y eventualmente mirar Los resultados.
Entonces no puedo esperar para hacer eso.
Esto va a ser muy emocionante.
Trataré de encontrar gente ahora para que todos podamos verla juntos.
Y así hasta la próxima vez I.