Atari_RL

View the Project on GitHub frenkowski/Atari_RL

Atari_RL

Introduzione

Questa guida ha lo scopo di illustrare i passi necessari per permettere ad un agente di Reinforcement Learning di imparare a giocare a diversi giochi dell’Atari 2600.
L’argomento sarà parte del talk, curato dal professore Fabio Stella, intitolato “Come lavorare sui dati: i linguaggi per la machine intelligence” che si terrà in data 21 dicembre 2018 presso l’Università degli Studi di Milano-Bicocca.
alt text

Prerequisiti

Scaricare e installare Anaconda (Python 3.7 version).
Scaricare e scompattare il contenuto della repository attuale, come mostrato in figura.

alt text

Ambiente

Aprire Anaconda Navigator e creare un nuovo ambiente che ospiterà Tensorflow.
Questo può essere fatto:

via Anaconda Navigator

Environments > Create 

Impostare “tensorflow” come nome e scegliere Python 3.6 come Packages

Preparazione

Selezionare, da Environments, tensorflow e aprire il terminale come mostrato nella seguente figura.
alt text

Se tutto è andato a buon fine avrete (tensorflow) seguito da un percorso (ad esempio C:\Users\ponti) all’inizio del vostro terminale. alt text

Creare una nuova cartella nel percorso indicato di fianco a (tensorflow) nel terminale e rinominarla “Gym”.
Copiare i file “Gym.py” e “Load_Model.py”, scaricati in precedenza dalla repository, all’interno della cartella Gym. Da terminale, spostarsi all’interno della cartella Gym con il seguente comando:

cd gym

alt text

Packages

A questo punto dare il seguente comando al terminale:

pip install tensorflow

Prima di poter procedere al training è necessario installare dei packages specifici.
Procedere quindi con i seguenti comandi:

pip install gym
pip install gym[atari]

alt text

In caso questo comando restituisca un errore, provare il comando seguente:

pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py

e procedere con:

pip install matplotlib
pip install scikit-image

Training

Ora è possibile allenare il nostro agente di Reinforcement Learning in modo che impari a giocare a Pacman.
Rimandendo nel terminale relativo all’ambiente “tensorflow” dare il seguente comando:

python Gym.py

L’agente procederà ora al training. Dopo aver raggiunto un determinato numero di iterazioni sarà mostrato a video il nostro agente di Reinforcement Learning mentre proverà a giocare.
Con l’aumentare delle iterazioni si potrà notare un incremento delle prestazioni.

Testing

Una volta finito il training si può procedere a testare il modello relativo al precedente training. Sempre da terminale dare il seguente comando:

python Load_Model.py

Verrà mostrato a video il nostro agente mentre giocherà a 100 partite di Pacman, al termine del quale si avrà lo score medio finale.

Consigli

Riferimenti

Ringraziamenti

In caso di consigli, dubbi o problemi è possibile contattarmi via email all’indirizzo frenkowski@gmail.com.