
Holodeck adalah simulator kesetiaan tinggi untuk pembelajaran penguatan yang dibangun di atas Unreal Engine 4.
pip install holodeck
(membutuhkan> = Python 3.5)
Lihat Instalasi untuk instruksi lengkap (termasuk Docker).
Antarmuka Holodeck mirip dengan gym Openai.
Kami mencoba dan menyediakan baterai yang termasuk pendekatan untuk membiarkan Anda langsung menggunakan Holodeck, dengan minimal mengutak -atik.
Untuk mendemonstrasikan, berikut adalah contoh cepat menggunakan paket DefaultWorlds :
import holodeck
# Load the environment. This environment contains a UAV in a city.
env = holodeck . make ( "UrbanCity-MaxDistance" )
# You must call `.reset()` on a newly created environment before ticking/stepping it
env . reset ()
# The UAV takes 3 torques and a thrust as a command.
command = [ 0 , 0 , 0 , 100 ]
for i in range ( 30 ):
state , reward , terminal , info = env . step ( command ) state : Dikt nama sensor dengan nilai sensor (nparray).reward : Hadiah yang diterima dari tindakan sebelumnyaterminal : Menunjukkan apakah keadaan saat ini adalah keadaan terminal.info : Berisi informasi spesifik lingkungan tambahan.Jika Anda ingin mengakses data sensor tertentu, impor sensor dan mengambil nilai yang benar dari kamus negara:
print ( state [ "LocationSensor" ])Holodeck mendukung lingkungan multi-agen.
Panggilan untuk step hanya memberikan tindakan untuk agen utama, dan kemudian centang simulasi.
act memberikan tindakan persisten untuk agen tertentu, dan tidak mencentang simulasi. Setelah tindakan disediakan, tick akan memajukan simulasi ke depan. Tindakan ini tetap ada sampai panggilan lain untuk act memberikan tindakan yang berbeda.
import holodeck
import numpy as np
env = holodeck . make ( "CyberPunkCity-Follow" )
env . reset ()
# Provide an action for each agent
env . act ( 'uav0' , np . array ([ 0 , 0 , 0 , 100 ]))
env . act ( 'nav0' , np . array ([ 0 , 0 , 0 ]))
# Advance the simulation
for i in range ( 300 ):
# The action provided above is repeated
states = env . tick ()Anda dapat mengakses hadiah, terminal, dan lokasi untuk lingkungan multi agen sebagai berikut:
task = states [ "uav0" ][ "FollowTask" ]
reward = task [ 0 ]
terminal = task [ 1 ]
location = states [ "uav0" ][ "LocationSensor" ] ( uav0 berasal dari file konfigurasi skenario)
Holodeck dapat berjalan tanpa kepala dengan rendering GPU yang dipercepat. Lihat Menggunakan Holodeck Headless
@misc{HolodeckPCCL,
Author = {Joshua Greaves and Max Robinson and Nick Walton and Mitchell Mortensen and Robert Pottorff and Connor Christopherson and Derek Hancock and Jayden Milne and David Wingate},
Title = {Holodeck: A High Fidelity Simulator},
Year = {2018},
}
Holodeck adalah proyek dari persepsi BYU, kognisi dan laboratorium kontrol (https://pcc.cs.byu.edu/).