Hola y bienvenido a este tutorial.
Felicidades de nuevo por haber terminado con esto.
Mira, lo hicimos, hicimos los cerebros y los entrenamos.
Pero ahora todavía tenemos que hacer un agente de prueba que mañana no tendrá una fecha para nada, pero solo
usará el modelo de compartir para hacer sus propias exploraciones.
Y, por supuesto, en este código vamos a grabar algunos videos y estos serán los videos de los
agentes de prueba con un puntaje determinado.
Entonces, revisemos este código.
Lo más importante está hecho así que te dije que no vamos a codificarlo línea por línea, pero creo
que es importante que entiendas lo que está sucediendo aquí.
Entonces, vamos a ir con este código en la primera sección, como habrás notado.
Importamos las bibliotecas y luego encontramos esta función de prueba que hará que este agente de prueba haga su
propia exploración y juegue el juego de lanzamiento.
Entonces, obtenemos que esta función de prueba toma tres argumentos; el primero es la clasificación que aún debe sincronizar el
agente de prueba, como hicimos con los agentes de capacitación.
Entonces tenemos nuestros parámetros, por supuesto, porque necesitas algunos.
Y, por supuesto, tenemos el modelo compartido porque este agente de prueba usará un modelo compartido para hacer
su propia exploración.
Bien, entramos en la función y esta línea de código sincronizamos con el agente de prueba.
Exactamente como lo hicimos antes, importamos el entorno.
Así que lo recuerdo en el código principal que estará en el próximo tutorial.
Bueno, y el nombre aquí será reemplazado por una ruptura de cero para que podamos entrar en el entorno de descanso
cero y jugar el juego y los Trumans de la Cruz Roja que obtendrán los videos de nuestro evento nocturno.
Entonces, básicamente, esta línea de código en total significa que ejecutamos un entorno con video.
Luego, en la siguiente línea de código, sincronizamos este entorno con el mismo principio exacto que la función Trend.
Luego obtenemos nuestro modelo y para ello creamos un objeto de la clase de actividad y ponemos la forma de entrada
con nuestro espacio de observación del entorno y los ceros con forma son exactamente como la función del tren
y nuestros productos que son las acciones con un espacio de acción.
Así que exactamente como antes, entonces algo nuevo aquí ya que hemos terminado con el entrenamiento.
No queremos poner el modelo en modo de tren porque simplemente no queremos que se entrene,
queremos ponerlo en desarrollo.
Y eso es lo que hacemos aquí con un modelo que evolucionó.
Así que eso es básicamente para poner al agente de prueba en un modo que básicamente probará
el desempeño evaluado.
Luego, aquí tenemos nuestros estados de entrada que son las imágenes de entrada del juego que en este punto son
una raza completa.
Luego los convertimos en bailarines de antorchas.
Aquí inicializamos algunas de las palabras aquí.
Inicializamos a verdadero.
última vez, y luego algo nuevo, introducimos esta tercera viabilidad con una función de tiempo para medir el tiempo de los cálculos.
Así que, al igual que la
Y eso es porque quieres obtener el punto de partida.
Luego, aquí las acciones usamos un tipo de pista muy práctica que permite agregar un elemento a la señal desde la
derecha o desde la izquierda.
Así que eso es muy práctico y te daré la referencia, creo, en una versión decrementada del código.
Entonces, echarán un vistazo a lo que es esta dequeue y eso es lo que permite hacer eso.
Luego, inicializamos la duración de un episodio con cero, por supuesto, y luego aumentaremos el tamaño en
este ciclo de pozo.
Entonces usamos el mismo truco aquí.
Si bien es cierto y en el ciclo incrementamos la duración del episodio en uno.
Cuando el juego finaliza cuando termina el juego, volvemos a cargar el último conjunto del modelo compartido, el modelo compartido que
data de los otros modelos.
Recuerde que aquí el modelo compartido ya no está fechado.
Sin embargo, si el juego termina, si el juego está terminado Reinette reiniciamos los estados de celda, vemos
X y luego establece H x, y si el juego no termina bien, mantenemos los mismos estados de celda y estado.
Pero para asegurarse de que se les enseñe variables de modo que puedan unirse a un degradado.
OK, entonces eso es algo que ya hemos muerto en la función de tendencia y luego todavía en el ciclo while y después
de tener un dato que indica en los estados ocultos el camino correcto, dependiendo de los dos casos aquí.
Bien, ¿qué hacemos? Tenemos las predicciones del mañana.
Eso es exactamente lo que hacemos aquí con esta línea de código.
Entonces obtenemos el valor que es el resultado del crítico, el valor real que es el resultado del actor.
Y luego están todos los estados ocultos H x y la celda declara la X, luego generamos una distribución de probabilidades
de las acciones que está en el valor de acción de los valores Q aquí.
Y hacemos esto con la siguiente función.
Y, por supuesto, no necesitamos obtener las probabilidades de suerte aquí porque esto es solo para el entrenamiento
del agente de prueba.
Simplemente reproducirá las acciones que usaremos, ya sabes, como una actividad determinada para jugar, pero
no estamos entrenando aquí.
Entonces tenemos solo un prop y de esto jugamos la acción llevando directamente a RMX de estas probabilidades, es decir,
toma la acción que tiene la probabilidad más alta.
Y la razón es que el agente de prueba no realiza ninguna exploración.
probabilidad nuevamente, luego, una vez que jugamos la acción, alcanzamos el siguiente estado y obtenemos la siguiente palabra.
Recuerde que queremos tener la oportunidad de retomar algunas acciones que tienen bajas probabilidades cuando desee explorar
un poco estas otras acciones y usted sabe que no tomará cada vez la acción que tenga la probabilidad
más alta, pero aquí el agente de prueba puede hacer cualquier exploración y por lo tanto, es por eso que
tomamos directamente la acción que tiene la máxima
Y ese es un día fechado ya sea que el juego haya terminado o no.
Entonces, obtenemos todo esto con esta línea de código ejecutando la acción después de haberla seleccionado con nuestro
Max aquí.
lo hacemos nuevamente y luego, dado que recibimos una nueva recompensa, vamos a actualizar parte de la recompensa simplemente agregando esta nueva palabra.
Entonces jugamos la acción aquí y obtenemos el estado en el que obtenemos la recompensa y
Y finalmente cada vez que el juego está hecho.
Entonces, si eso significa que cuando termine el juego, cuando termine de jugar bien, vamos a imprimir
los resultados con el tiempo opuesto.
Queríamos que la duración del episodio fuera la cantidad de tiempo que duró.
Jugar muy bien y así es como imprimimos todas estas variables usando estos pequeños trucos.
Eso es por el momento, entonces queremos algo; es solo una variable.
Algunas de las palabras e ideas son extensas a la duración del presente OK.
Y luego, una vez que imprimimos bien todos los resultados, ya que el juego terminó y queremos comenzar un
nuevo juego, vamos a reinicializar todo.
Esa es la suma de dos palabras, cero la duración de un episodio a cero.
Vamos a volver a representar todas las acciones mediante el uso de esta función clave que restablece las imágenes
de entrada que conoce repitiendo todos los descansos por completo.
Y finalmente usamos este tiempo que duerme 60 segundos para hacer un descanso de un minuto para permitir que otros
agentes practiquen.
Y eso si el juego ha terminado.
DE ACUERDO.
Y finalmente tenemos esta última línea de código que nos dará el nuevo estado y luego podemos avanzar.
Podemos continuar en este nuevo juego.
Entonces ahí vamos
Esa es la función de prueba.
Cosas a las que verás los videos en uno o dos tutoriales.
Espero que sea del todo como la última vez para ver los resultados que están con usted.
Curial y yo, eso será divertido.
Y te estoy diciendo.
Espere ver buenos resultados.
Pero ten en cuenta que este juego fue super desafiante.
Pensamos que era un juego simple para jugar primero, pero no para nada.
En realidad resultó ser mucho más difícil que la perdición.
Y es por eso que lo ponemos en el último módulo.
Pero de todos modos vamos a hacer esta función principal en el próximo tutorial.
Lo mismo Esto no es lo más importante aquí.
Ahora que el A-380 está demente, no lo codificaremos línea por línea, expandirá el código y muy
rápidamente obtendremos los resultados.
Hasta entonces, disfruta de la IA.