{"id":13564904,"url":"https://github.com/uber-research/deep-neuroevolution","last_synced_at":"2025-05-15T15:00:21.575Z","repository":{"id":28244526,"uuid":"116198266","full_name":"uber-research/deep-neuroevolution","owner":"uber-research","description":"Deep Neuroevolution","archived":false,"fork":false,"pushed_at":"2024-01-08T03:03:13.000Z","size":3804,"stargazers_count":1644,"open_issues_count":21,"forks_count":301,"subscribers_count":78,"default_branch":"master","last_synced_at":"2025-04-07T21:07:58.086Z","etag":null,"topics":["ai","deep-neuroevolution","machine-learning","reinforcement-learning"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uber-research.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-01-04T01:12:25.000Z","updated_at":"2025-03-31T04:47:36.000Z","dependencies_parsed_at":"2024-04-20T17:43:09.412Z","dependency_job_id":"9ccacc8e-bcee-460d-8a11-32aa56b0fad4","html_url":"https://github.com/uber-research/deep-neuroevolution","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber-research%2Fdeep-neuroevolution","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber-research%2Fdeep-neuroevolution/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber-research%2Fdeep-neuroevolution/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uber-research%2Fdeep-neuroevolution/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uber-research","download_url":"https://codeload.github.com/uber-research/deep-neuroevolution/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364264,"owners_count":22058877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","deep-neuroevolution","machine-learning","reinforcement-learning"],"created_at":"2024-08-01T13:01:37.758Z","updated_at":"2025-05-15T15:00:21.270Z","avatar_url":"https://github.com/uber-research.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"## AI Labs Neuroevolution Algorithms\n\nThis repo contains distributed implementations of the algorithms described in:\n\n[1] [Deep Neuroevolution: Genetic Algorithms Are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning](https://arxiv.org/abs/1712.06567)\n\n[2] [Improving Exploration in Evolution Strategies for Deep Reinforcement Learning via a Population of Novelty-Seeking Agents](https://arxiv.org/abs/1712.06560)\n\nOur code is based off of code from OpenAI, who we thank. The original code and related paper from OpenAI can be found [here](https://github.com/openai/evolution-strategies-starter). The repo has been modified to run both ES and our algorithms, including our Deep Genetic Algorithm (DeepGA) locally and on AWS.\n\nNote: The Humanoid experiment depends on [Mujoco](http://www.mujoco.org/). Please provide your own Mujoco license and binary\n\nThe article describing these papers can be found [here](https://eng.uber.com/deep-neuroevolution/)\n\n## Visual Inspector for NeuroEvolution (VINE)\nThe folder `./visual_inspector` contains implementations of VINE, i.e., Visual Inspector for NeuroEvolution, an interactive data visualization tool for neuroevolution. Refer to `README.md` in that folder for further instructions on running and customizing your visualization. An article describing this visualization tool can be found [here](https://eng.uber.com/vine/).\n\n## Accelerated Deep Neurevolution\nThe folder `./gpu_implementation` contains an implementation that uses GPU more efficiently. Refer to `README.md` in that folder for further instructions.\n\n## How to run locally\n\nclone repo\n\n```\ngit clone https://github.com/uber-common/deep-neuroevolution.git\n```\n\ncreate python3 virtual env\n\n```\npython3 -m venv env\n. env/bin/activate\n```\n\ninstall requirements\n```\npip install -r requirements.txt\n```\nIf you plan to use the mujoco env, make sure to follow [mujoco-py](https://github.com/openai/mujoco-py)'s readme about how to install mujoco correctly\n\nlaunch redis\n```\n. scripts/local_run_redis.sh\n```\n\nlaunch sample ES experiment\n```\n. scripts/local_run_exp.sh es configurations/frostbite_es.json  # For the Atari game Frostbite\n. scripts/local_run_exp.sh es configurations/humanoid.json  # For the MuJoCo Humanoid-v1 environment\n```\n\nlaunch sample NS-ES experiment\n```\n. scripts/local_run_exp.sh ns-es configurations/frostbite_nses.json\n. scripts/local_run_exp.sh ns-es configurations/humanoid_nses.json\n```\n\nlaunch sample NSR-ES experiment\n```\n. scripts/local_run_exp.sh nsr-es configurations/frostbite_nsres.json\n. scripts/local_run_exp.sh nsr-es configurations/humanoid_nsres.json\n```\n\nlaunch sample GA experiment\n```\n. scripts/local_run_exp.sh ga configurations/frostbite_ga.json  # For the Atari game Frostbite\n```\n\nlaunch sample Random Search experiment\n```\n. scripts/local_run_exp.sh rs configurations/frostbite_ga.json  # For the Atari game Frostbite\n```\n\n\nvisualize results by running a policy file\n```\npython -m scripts.viz 'FrostbiteNoFrameskip-v4' \u003cYOUR_H5_FILE\u003e\npython -m scripts.viz 'Humanoid-v1' \u003cYOUR_H5_FILE\u003e\n```\n\n### extra folder\nThe extra folder holds the XML specification file for the  Humanoid\nLocomotion with Deceptive Trap domain used in https://arxiv.org/abs/1712.06560. Use this XML file in gym to recreate the environment.\n\n## How to run in docker container\n\nYou can also run the code inside a docker container using docker and docker-compose.  \n\nSee https://docs.docker.com/get-started/ for an introduction to docker.  \nSee also https://docs.docker.com/compose/overview/ for an introduction to docker-compose.  \n\nClone repo and enter the directory.\n\n```\ngit clone https://github.com/uber-common/deep-neuroevolution.git\ncd deep-neuroevolution\n```\n\nStart the container launching the redis instance, use sudo if required, see also [this page](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).\n\n```\nsudo docker-compose up\n```\n\nOpen up a second terminal session into the container.\n\n```\nsudo docker exec -it deepneuro /bin/bash\n```\n\nStart the experiment of your choice as stated above. E.g.\n\n```\ncd ~/deep-neuroevolution/\n. scripts/local_run_exp.sh es configurations/frostbite_es.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuber-research%2Fdeep-neuroevolution","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuber-research%2Fdeep-neuroevolution","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuber-research%2Fdeep-neuroevolution/lists"}