Ciao e benvenuto in questo tutorial.
Congratulazioni ancora per aver finito con questo.
Vediamo che ce l'abbiamo fatta, abbiamo creato il cervello e li abbiamo addestrati.
Ma ora dobbiamo ancora creare un agente di prova che domani non sarà un appuntamento, ma userà semplicemente
il modello di condivisione per fare le proprie esplorazioni.
E ovviamente in questo codice registreremo alcuni video e questi saranno i video che gli
agenti testeranno con un certo punteggio.
Quindi passiamo attraverso questo codice.
Il più importante è fatto in modo tale che ti ho detto che non lo codificheremo riga per riga,
ma penso che sia importante capire cosa sta succedendo qui.
Quindi eccoci con questo codice nella prima sezione, come hai notato.
Importiamo le librerie e poi abbiamo trovato questa funzione di test che farà sì che questo agente di test
esegua la propria esplorazione e giochi il breakout.
Quindi otteniamo che questa funzione di test richieda tre argomenti, il primo è la classifica che deve ancora sincronizzare l'agente
di test come abbiamo fatto per gli agenti di formazione.
Quindi abbiamo i nostri parametri, ovviamente perché ne hai bisogno.
E naturalmente abbiamo il modello condiviso perché questo test agent utilizzerà un modello condiviso per fare
la propria esplorazione.
Va bene allora entriamo nella funzione e questa linea di codice che sincronizziamo con l'agente di test.
Esattamente come prima, importiamo l'ambiente.
Quindi lo ricordo nel codice principale che sarà nel prossimo tutorial.
Bene e il nome qui sarà sostituito dalla rottura dello zero in modo che possiamo andare nell'ambiente di break
zero e giocare al gioco e alla Croce Rossa Trumani che otterrà i video della nostra serata.
Quindi in pratica questa linea di codice significa che eseguiamo un ambiente con il video.
Quindi alla prossima riga di codice sincronizziamo questo ambiente in modo esattamente lo stesso principio della funzione Trend.
Poi otteniamo il nostro modello e per fare questo creiamo un oggetto della classe di attività e mettiamo la forma di
input con il nostro spazio di osservazione ambientale e gli zero di forma sono esattamente come la funzione del
treno e le nostre uscite che sono le azioni con uno spazio azione.
Quindi, esattamente come prima, allora qualcosa di nuovo qui da quando abbiamo finito con l'allenamento.
Non vogliamo mettere il modello in modalità treno perché semplicemente non vogliamo che si formi,
vogliamo metterlo in sviluppo.
Ed è quello che facciamo qui con il modello che si è evoluto.
Quindi questo è solo fondamentalmente mettere l'agente di test in una modalità che testerà fondamentalmente le
prestazioni testate valutate.
Poi qui otteniamo i nostri stati di input che sono le immagini di input del gioco che a questo punto
rappresentano un'intera gara.
Quindi li convertiamo in danzatori di torce.
Qui inizializziamo alcune delle parole qui.
Inizializziamo al vero.
poi qualcosa di nuovo, introduciamo questo terzo vitale con una funzione temporale per misurare il tempo dei calcoli.
Quindi, proprio come l'ultima volta,
E questo perché vuoi ottenere il punto di partenza.
Quindi qui le azioni utilizziamo un tipo molto pratico di stecca che consente di aggiungere un elemento alla stecca da
destra o da sinistra.
Quindi è molto pratico e ti darò il riferimento che penso nella versione decrementata del codice.
Daremo un'occhiata a cosa è questo dequio e questo è ciò che permette di farlo.
Quindi inizializziamo la lunghezza di un episodio con zero ovviamente e poi incrementeremo la dimensione in
questo ciclo di pozzi.
Quindi usiamo lo stesso trucco qui.
Mentre vero e nel ciclo incrementiamo la lunghezza dell'episodio di uno.
Quando il gioco termina quando il gioco è finito, ricarichiamo l'ultimo set del modello condiviso del modello di condivisione
datato dagli altri modelli.
Ricorda che qui il modello condiviso non è più databile allora.
Eppure, se il gioco è finito se il gioco è finito, Reinette reinizializziamo gli stati della cella, vedi X
e poi States H x, e se il gioco non è troppo buono, manteniamo gli stessi stati delle celle e negli stati.
Ma per essere sicuri che vengano insegnati alle variabili in modo che possano essere attaccati a un gradiente.
OK, ecco qualcosa che è già morto nella funzione di trend e quindi ancora nel ciclo while e dopo aver avuto
un dato che afferma negli stati nascosti la via giusta in base ai due casi qui.
Bene, cosa facciamo, otteniamo le previsioni di domani.
Questo è esattamente ciò che facciamo qui con questa linea di codice.
Quindi otteniamo il valore che è l'output del critico il valore reale che è l'output dell'attore.
E poi tocca tutti gli stati nascosti H x e la cella indica la X, quindi generiamo una distribuzione
delle probabilità delle azioni che è al valore di azione dei valori Q qui.
E lo facciamo con la prossima funzione.
E ovviamente non abbiamo bisogno di ottenere le probabilità di fortuna qui perché questo è solo per la
formazione per l'agente di prova.
Giocherà solo le azioni che useremo, saprai come Doom una certa attività per giocarci ma non stiamo
facendo alcun allenamento qui.
Quindi abbiamo solo un supporto e da questo giochiamo l'azione portando direttamente a RMX di queste probabilità che
è l'azione che ha la più alta probabilità.
E il motivo è che l'agente di test non fa alcuna esplorazione.
massima probabilità, quindi una volta che giochiamo all'azione raggiungiamo lo stato successivo e otteniamo la parola successiva.
Ricorda che vogliamo avere la possibilità di raccogliere alcune azioni che hanno basse probabilità quando
vuoi fare qualche esplorazione di queste altre azioni e sai di non prendere ogni volta l'azione che
ha la più alta probabilità ma qui il test agent può fare qualsiasi esplorazione e quindi è per questo
che prendiamo direttamente l'azione che ha la
E questo è un giorno datato se il gioco è finito o meno.
Quindi questo otteniamo tutto questo con questa linea di codice giocando l'azione dopo averlo selezionato con il nostro
Max qui.
fatta di nuovo e poi da quando abbiamo appena ricevuto una nuova ricompensa. Aggiungeremo parte della ricompensa semplicemente aggiungendo questa nuova parola.
Quindi suoniamo l'azione qui e otteniamo lo stato in cui otteniamo la ricompensa e l'abbiamo
E infine ogni volta che il gioco è finito.
Quindi se questo significa che quando il gioco termina quando finisco di giocare bene, stamperemo
i risultati con il tempo opposto.
Volevamo la durata dell'episodio, cioè quanto tempo è durato.
Giocando alla grande e questo è come stampiamo tutte queste variabili usando questi piccoli trucchi.
Questo è per il tempo quindi vogliamo che sia solo una variabile.
Alcune delle parole e delle idee sono la lunghezza della presente OK.
E poi, una volta stampati tutti i risultati da quando il gioco è finito e vogliamo iniziare
un nuovo gioco, reinizializzeremo tutto.
Questa è la somma di due parole zero della lunghezza di un episodio a zero.
Ricreare tutte le azioni utilizzando questa funzione tasto reimposta le immagini di
input che conosci ripetendo tutte le interruzioni.
E finalmente usiamo questa volta che dormiamo 60 secondi per fare una pausa di un minuto per permettere agli altri agenti
di esercitarsi.
E questo se il gioco è finito.
OK.
E finalmente abbiamo questa ultima riga di codice che ci porterà il nuovo stato e poi potremo andare avanti.
Possiamo continuare in questo nuovo gioco.
Quindi eccoci.
Questa è la funzione di test.
Cose a cui vedrai i video in uno o due tutorial.
Spero che sarai del tutto come l'ultima volta a guardare i risultati che è con te.
Curial e io saremo divertenti.
E te lo sto dicendo.
Aspettatevi di vedere buoni risultati.
Ma tieni presente che questo breakout è stato super impegnativo.
Pensavamo che fosse un gioco semplice, ma non del tutto.
In realtà si è rivelato molto più difficile del destino.
Ed è per questo che lo abbiamo inserito nell'ultimo modulo.
Ma comunque facciamo questa funzione principale nel prossimo tutorial.
Lo stesso non è il più importante qui.
Ora che l'A-380 è demente non lo codificheremo riga per riga per espandere il codice e molto
rapidamente otterremo i risultati.
Fino ad allora goditi l'intelligenza artificiale.