Dieses Repo enthält verteilte Implementierungen der in: in:
[1] Deep Neuroevolution: Genetische Algorithmen sind eine wettbewerbsfähige Alternative für die Ausbildung von tiefen neuronalen Netzwerken zum Verstärkungslernen
[2] Verbesserung der Erforschung der Evolutionsstrategien für das Tiefe Verstärkungslernen durch eine Population von Neuheiten suchenden Agenten
Unser Code basiert auf Code von Openai, dem wir danken. Der ursprüngliche Code und das verwandte Papier von OpenAI finden Sie hier. Das Repo wurde modifiziert, um sowohl ES als auch unsere Algorithmen zu betreiben, einschließlich unseres Deep Geneticalgorithmus (Deepga) lokal und auf AWS.
HINWEIS: Das humanoide Experiment hängt von Mujoco ab. Bitte geben Sie Ihre eigene Mujoco -Lizenz und Binärin an
Der Artikel, der diese Papiere beschreibt, finden Sie hier
Der Ordner ./visual_inspector enthält Implementierungen von Vine, dh visueller Inspektor für Neuroevolution, ein interaktives Datenvisualisierungsinstrument für die Neuroevolution. Weitere Anweisungen zum Ausführen und Anpassen Ihrer Visualisierung finden Sie unter README.md in diesem Ordner. Ein Artikel, der dieses Visualisierungstool beschreibt, finden Sie hier.
Der Ordner ./gpu_implementation enthält eine Implementierung, die GPU effizienter verwendet. Weitere Anweisungen finden Sie unter README.md in diesem Ordner.
Klonrepo
git clone https://github.com/uber-common/deep-neuroevolution.git
Erstellen Sie Python3 Virtual Env
python3 -m venv env
. env/bin/activate
Anforderungen installieren
pip install -r requirements.txt
Wenn Sie vorhaben, die Mujoco Env zu verwenden
starten Redis
. scripts/local_run_redis.sh
Start Probe ES -Experiment
. scripts/local_run_exp.sh es configurations/frostbite_es.json # For the Atari game Frostbite
. scripts/local_run_exp.sh es configurations/humanoid.json # For the MuJoCo Humanoid-v1 environment
Starten Sie Probe NS-ES-Experiment
. scripts/local_run_exp.sh ns-es configurations/frostbite_nses.json
. scripts/local_run_exp.sh ns-es configurations/humanoid_nses.json
Starten Sie Probe NSR-ES-Experiment
. scripts/local_run_exp.sh nsr-es configurations/frostbite_nsres.json
. scripts/local_run_exp.sh nsr-es configurations/humanoid_nsres.json
Start Probe GA -Experiment
. scripts/local_run_exp.sh ga configurations/frostbite_ga.json # For the Atari game Frostbite
Start Beispiel für Zufällige Such -Experiment
. scripts/local_run_exp.sh rs configurations/frostbite_ga.json # For the Atari game Frostbite
Visualisieren Sie die Ergebnisse, indem Sie eine Richtliniendatei ausführen
python -m scripts.viz 'FrostbiteNoFrameskip-v4' <YOUR_H5_FILE>
python -m scripts.viz 'Humanoid-v1' <YOUR_H5_FILE>
Der zusätzliche Ordner enthält die XML -Spezifikationsdatei für die Humanoid -Fortbewegung mit täuschender Trap -Domäne, die in https://arxiv.org/abs/1712.06560 verwendet wird. Verwenden Sie diese XML -Datei im Fitnessstudio, um die Umgebung neu zu erstellen.
Sie können den Code auch in einem Docker-Container mit Docker und Docker-Compose ausführen.
Eine Einführung in Docker finden Sie unter https://docs.docker.com/get-started/.
Siehe auch https://docs.docker.com/compons/overview/ für eine Einführung in Docker-compose.
Klonrepo klonen und das Verzeichnis eingeben.
git clone https://github.com/uber-common/deep-neuroevolution.git
cd deep-neuroevolution
Starten Sie den Container, der die Redis -Instanz startet. Verwenden Sie sudo bei Bedarf, siehe auch diese Seite.
sudo docker-compose up
Öffnen Sie eine zweite Terminalsitzung in den Container.
sudo docker exec -it deepneuro /bin/bash
Beginnen Sie das Experiment Ihrer Wahl, wie oben angegeben. Z.B
cd ~/deep-neuroevolution/
. scripts/local_run_exp.sh es configurations/frostbite_es.json