
Holodeck هو محاكاة عالية الدقة للتعلم التعزيز المبني على قمة محرك Unreal 4.
pip install holodeck
(يتطلب> = بيثون 3.5)
انظر التثبيت للحصول على التعليمات الكاملة (بما في ذلك Docker).
تشبه واجهة Holodeck صالة الألعاب الرياضية Openai.
نحاول تقديم بطاريات متضمنة نهجًا للسماح لك بالقفز مباشرةً إلى استخدام Holodeck ، مع الحد الأدنى من العبث المطلوب.
للتظاهر ، إليك مثال سريع باستخدام حزمة 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 : DICT of SESSOR to the Sensor of Sensor (nparray).reward : المكافأة المستلمة من الإجراء السابقterminal : تشير إلى ما إذا كانت الحالة الحالية هي حالة نهائية.info : يحتوي على معلومات محددة بيئة إضافية.إذا كنت ترغب في الوصول إلى بيانات مستشعر معين ، وأجهزة استشعار الاستيراد واسترداد القيمة الصحيحة من قاموس الحالة:
print ( state [ "LocationSensor" ])يدعم Holodeck بيئات متعددة الوكلاء.
المكالمات إلى step فقط توفير إجراء للوكيل الرئيسي ، ثم وضع علامة على المحاكاة.
يوفر act إجراءً مستمرًا لوكيل معين ، ولا يحدد المحاكاة. بعد تقديم إجراء ، سوف يتقدم tick المحاكاة إلى الأمام. يتم استمرار الإجراء حتى توفر دعوة أخرى act إجراءًا مختلفًا.
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 ()يمكنك الوصول إلى المكافأة والمحطة والموقع لبيئة الوكيل المتعددة على النحو التالي:
task = states [ "uav0" ][ "FollowTask" ]
reward = task [ 0 ]
terminal = task [ 1 ]
location = states [ "uav0" ][ "LocationSensor" ] (يأتي uav0 من ملف تكوين السيناريو)
يمكن أن يركض Holodeck بدون رأس مع عرض GPU المتسارع. انظر باستخدام 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 هو مشروع لتصور BYU والإدراك والتحكم في مختبر (https://pcc.cs.byu.edu/).