repo นี้มีการใช้งานแบบกระจายของอัลกอริทึมที่อธิบายไว้ใน:
[1] Neuroevolution ลึก: อัลกอริทึมทางพันธุกรรมเป็นทางเลือกในการแข่งขันสำหรับการฝึกอบรมเครือข่ายประสาทลึกเพื่อการเรียนรู้การเสริมแรง
[2] การปรับปรุงการสำรวจกลยุทธ์วิวัฒนาการสำหรับการเรียนรู้การเสริมแรงอย่างลึกซึ้งผ่านประชากรของตัวแทนค้นหาความแปลกใหม่
รหัสของเราใช้รหัสจาก Openai ที่เราขอบคุณ รหัสต้นฉบับและกระดาษที่เกี่ยวข้องจาก OpenAI สามารถพบได้ที่นี่ repo ได้รับการแก้ไขเพื่อเรียกใช้ทั้ง ES และอัลกอริทึมของเรารวมถึงอัลกอริทึมทางพันธุกรรมลึกของเรา (DeepGa) ในท้องถิ่นและบน AWS
หมายเหตุ: การทดลอง Humanoid ขึ้นอยู่กับ Mujoco โปรดระบุใบอนุญาต Mujoco และไบนารีของคุณเอง
บทความที่อธิบายเอกสารเหล่านี้สามารถพบได้ที่นี่
โฟลเดอร์ ./visual_inspector มีการใช้งานของเถาวัลย์เช่น Visual Inspector สำหรับ NeuroeVolution เครื่องมือสร้างภาพข้อมูลแบบโต้ตอบสำหรับ neuroeVolution อ้างถึง README.md ในโฟลเดอร์นั้นสำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการรันและปรับแต่งการสร้างภาพของคุณ บทความที่อธิบายถึงเครื่องมือสร้างภาพนี้สามารถพบได้ที่นี่
โฟลเดอร์ ./gpu_implementation มีการใช้งานที่ใช้ GPU ได้อย่างมีประสิทธิภาพมากขึ้น อ้างถึง README.md ในโฟลเดอร์นั้นสำหรับคำแนะนำเพิ่มเติม
repo โคลน
git clone https://github.com/uber-common/deep-neuroevolution.git
สร้าง python3 เสมือนจริง env
python3 -m venv env
. env/bin/activate
ติดตั้งข้อกำหนด
pip install -r requirements.txt
หากคุณวางแผนที่จะใช้ mujoco env ตรวจสอบให้แน่ใจว่าได้ติดตาม readme ของ Mujoco-py เกี่ยวกับวิธีการติดตั้ง Mujoco อย่างถูกต้อง
เปิดตัว Redis
. scripts/local_run_redis.sh
เปิดตัวอย่างการทดลอง ES
. 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
เปิดตัวอย่างการทดลอง NS-ES
. scripts/local_run_exp.sh ns-es configurations/frostbite_nses.json
. scripts/local_run_exp.sh ns-es configurations/humanoid_nses.json
เปิดตัวอย่างการทดลอง NSR-ES
. scripts/local_run_exp.sh nsr-es configurations/frostbite_nsres.json
. scripts/local_run_exp.sh nsr-es configurations/humanoid_nsres.json
เปิดตัวอย่างการทดลอง GA
. scripts/local_run_exp.sh ga configurations/frostbite_ga.json # For the Atari game Frostbite
เปิดตัวอย่างการทดสอบการค้นหาแบบสุ่ม
. scripts/local_run_exp.sh rs configurations/frostbite_ga.json # For the Atari game Frostbite
แสดงภาพผลลัพธ์โดยเรียกใช้ไฟล์นโยบาย
python -m scripts.viz 'FrostbiteNoFrameskip-v4' <YOUR_H5_FILE>
python -m scripts.viz 'Humanoid-v1' <YOUR_H5_FILE>
โฟลเดอร์พิเศษเก็บไฟล์ข้อมูลจำเพาะ XML สำหรับการเคลื่อนไหวของมนุษย์ด้วยโดเมนดักหลอกลวงที่ใช้ใน https://arxiv.org/abs/1712.06560 ใช้ไฟล์ XML นี้ในโรงยิมเพื่อสร้างสภาพแวดล้อมใหม่
นอกจากนี้คุณยังสามารถเรียกใช้รหัสภายในคอนเทนเนอร์ Docker โดยใช้ Docker และ Docker-compose
ดู https://docs.docker.com/get-started/ สำหรับการแนะนำเกี่ยวกับ Docker
ดูเพิ่มเติมที่ https://docs.docker.com/compose/overview/ สำหรับการแนะนำเกี่ยวกับ Docker-Compose
โคลน repo และป้อนไดเรกทอรี
git clone https://github.com/uber-common/deep-neuroevolution.git
cd deep-neuroevolution
เริ่มคอนเทนเนอร์ที่เปิดตัวอินสแตนซ์ Redis ใช้ sudo หากจำเป็นโปรดดูหน้านี้
sudo docker-compose up
เปิดเซสชันเทอร์มินัลที่สองลงในคอนเทนเนอร์
sudo docker exec -it deepneuro /bin/bash
เริ่มต้นการทดลองที่คุณเลือกตามที่ระบุไว้ข้างต้น เช่น
cd ~/deep-neuroevolution/
. scripts/local_run_exp.sh es configurations/frostbite_es.json