2022-10-12 15:02:09 +00:00
<!doctype html>
< html class = "no-js" lang = "en" >
< head > < meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width,initial-scale=1" / >
2022-10-15 15:13:56 +00:00
< meta name = "color-scheme" content = "light dark" >
2022-10-16 13:56:17 +00:00
< meta name = "description" content = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)" >
2022-10-15 15:13:56 +00:00
< meta property = "og:title" content = "Gymnasium Documentation" / >
< meta property = "og:type" content = "website" / >
2022-10-16 13:56:17 +00:00
< meta property = "og:description" content = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)" / >
< meta property = "og:url" content = "https://gymnasium.farama.org/api/spaces/vector_utils.html" / > < meta property = "og:image" content = "https://gymnasium.farama.org/_static/img/gymnasium-github.png" / > < meta name = "twitter:card" content = "summary_large_image" > < meta name = "generator" content = "Docutils 0.19: https://docutils.sourceforge.io/" / >
2022-10-12 15:02:09 +00:00
< link rel = "index" title = "Index" href = "../../../genindex/" / > < link rel = "search" title = "Search" href = "../../../search/" / > < link rel = "next" title = "Wrappers" href = "../../wrappers/" / > < link rel = "prev" title = "Spaces Utils" href = "../utils/" / >
< link rel = "canonical" href = "https://gymnasium.farama.org/api/spaces/vector_utils.html" / >
2023-03-24 17:29:47 +00:00
< link rel = "shortcut icon" href = "../../../_static/favicon.png" / > <!-- Generated with Sphinx 6.1.3 and Furo 2022.12.07.dev1 -->
2022-10-12 15:02:09 +00:00
< title > Spaces Vector Utils - Gymnasium Documentation< / title >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/pygments.css" / >
2023-03-24 17:29:47 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/styles/furo.css?digest=721f65a87c37740baa8d605b09db5bec3a2987a8" / >
2023-01-20 14:42:12 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/sg_gallery.css" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/sg_gallery-binder.css" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/sg_gallery-dataframe.css" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/sg_gallery-rendered-html.css" / >
2023-03-24 17:29:47 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/styles/furo-extensions.css?digest=b0c92cd440df7c18a0306b0433406327ff2c572f" / >
2022-10-12 15:02:09 +00:00
< style >
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
< / style > < / head >
< body >
2022-12-12 13:31:00 +00:00
< header class = "farama-header" aria-label = "Farama header" >
2022-10-12 15:02:09 +00:00
< div class = "farama-header__container" >
2022-12-12 13:31:00 +00:00
< div class = "farama-header__left--mobile" >
< label class = "nav-overlay-icon" for = "__navigation" >
< div class = "visually-hidden" > Toggle site navigation sidebar< / div >
< svg viewBox = "0 0 24 24" xmlns = "http://www.w3.org/2000/svg" >
< defs > < / defs >
< line x1 = "0.5" y1 = "4" x2 = "23.5" y2 = "4" > < / line >
< line x1 = "0.232" y1 = "12" x2 = "23.5" y2 = "12" > < / line >
< line x1 = "0.232" y1 = "20" x2 = "23.5" y2 = "20" > < / line >
< / svg >
<!-- <svg viewBox="0 0 24 24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
< line x1 = "0.5" y1 = "4.5" x2 = "23.5" y2 = "4.5" style = "fill: none; " > < / line >
< line x1 = "0.5" y1 = "12" x2 = "14" y2 = "12" > < / line >
< line x1 = "0.5" y1 = "19.5" x2 = "23.5" y2 = "19.5" > < / line >
< polyline style = "stroke-width: 0px;" points = "17 7 22 12 17 17" > < / polyline >
< / svg > -->
<!-- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" style="width:20px">
< defs > < / defs >
< rect y = "1" width = "22" height = "22" rx = "2" ry = "2" style = "fill: none;" x = "1" > < / rect >
< line x1 = "8" y1 = "1" x2 = "8" y2 = "23" > < / line >
< polyline style = "stroke-linecap: round; fill: none; stroke-linejoin: round;" points = "13 7 17 12 13 17" > < / polyline >
< / svg > -->
< / label >
< / div >
< div class = "farama-header__left farama-header__center--mobile" >
2022-10-12 15:02:09 +00:00
< a href = "../../../" >
< img class = "farama-header__logo only-light" src = "../../../_static/img/gymnasium_black.svg" alt = "Light Logo" / >
< img class = "farama-header__logo only-dark" src = "../../../_static/img/gymnasium_white.svg" alt = "Dark Logo" / >
2022-12-12 13:31:00 +00:00
< span class = "farama-header__title" > Gymnasium Documentation< / span >
2022-10-12 15:02:09 +00:00
< / a >
< / div >
< div class = "farama-header__right" >
< div class = "farama-header-menu" >
2022-12-12 13:31:00 +00:00
< button class = "farama-header-menu__btn" aria-label = "Open Farama Menu" aria-expanded = "false" aria-haspopup = "true" aria-controls = "farama-menu" >
2023-03-24 17:29:47 +00:00
< img class = "farama-black-logo-invert" src = "../../../_static/img/farama-logo-header.svg" >
2022-12-12 13:31:00 +00:00
< svg viewBox = "0 0 24 24" viewBox = "0 0 24 24" xmlns = "http://www.w3.org/2000/svg" >
< polyline style = "stroke-linecap: round; stroke-linejoin: round; fill: none; stroke-width: 2px;" points = "1 7 12 18 23 7" > < / polyline >
2022-10-12 15:02:09 +00:00
< / svg >
2022-12-12 13:31:00 +00:00
< / button >
< div class = "farama-header-menu-container farama-hidden" aria-hidden = "true" id = "farama-menu" >
2022-10-15 15:13:56 +00:00
< div class = "farama-header-menu__header" >
2022-10-12 15:02:09 +00:00
< a href = "https://farama.org" >
2022-12-12 13:31:00 +00:00
< img class = "farama-header-menu__logo farama-white-logo-invert" src = "../../../_static/img/farama_solid_white.svg" alt = "Farama Foundation logo" >
2022-10-18 09:10:33 +00:00
< span > Farama Foundation< / span >
2022-10-12 15:02:09 +00:00
< / a >
2022-12-12 13:31:00 +00:00
< div class = "farama-header-menu-header__right" >
< button id = "farama-close-menu" >
< svg viewBox = "0 0 24 24" xmlns = "http://www.w3.org/2000/svg" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon-close">
< line x1 = "3" y1 = "21" x2 = "21" y2 = "3" > < / line >
< line x1 = "3" y1 = "3" x2 = "21" y2 = "21" > < / line >
< / svg >
< / button >
< / div >
2022-10-12 15:02:09 +00:00
< / div >
2022-10-15 15:13:56 +00:00
< div class = "farama-header-menu__body" >
2022-12-12 13:31:00 +00:00
<!-- Response from farama.org/api/projects.json -->
2022-10-12 15:02:09 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
< / header >
< script >
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
< / script >
< svg xmlns = "http://www.w3.org/2000/svg" style = "display: none;" >
< symbol id = "svg-toc" viewBox = "0 0 24 24" >
< title > Contents< / title >
< svg stroke = "currentColor" fill = "currentColor" stroke-width = "0" viewBox = "0 0 1024 1024" >
< path d = "M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z" / >
< / svg >
< / symbol >
< symbol id = "svg-menu" viewBox = "0 0 24 24" >
< title > Menu< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
< line x1 = "3" y1 = "12" x2 = "21" y2 = "12" > < / line >
< line x1 = "3" y1 = "6" x2 = "21" y2 = "6" > < / line >
< line x1 = "3" y1 = "18" x2 = "21" y2 = "18" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-arrow-right" viewBox = "0 0 24 24" >
< title > Expand< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
< polyline points = "9 18 15 12 9 6" > < / polyline >
< / svg >
< / symbol >
< symbol id = "svg-sun" viewBox = "0 0 24 24" >
< title > Light mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
< circle cx = "12" cy = "12" r = "5" > < / circle >
< line x1 = "12" y1 = "1" x2 = "12" y2 = "3" > < / line >
< line x1 = "12" y1 = "21" x2 = "12" y2 = "23" > < / line >
< line x1 = "4.22" y1 = "4.22" x2 = "5.64" y2 = "5.64" > < / line >
< line x1 = "18.36" y1 = "18.36" x2 = "19.78" y2 = "19.78" > < / line >
< line x1 = "1" y1 = "12" x2 = "3" y2 = "12" > < / line >
< line x1 = "21" y1 = "12" x2 = "23" y2 = "12" > < / line >
< line x1 = "4.22" y1 = "19.78" x2 = "5.64" y2 = "18.36" > < / line >
< line x1 = "18.36" y1 = "5.64" x2 = "19.78" y2 = "4.22" > < / line >
< / svg >
< / symbol >
< symbol id = "svg-moon" viewBox = "0 0 24 24" >
< title > Dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" / >
< / svg >
< / symbol >
< symbol id = "svg-sun-half" viewBox = "0 0 24 24" >
< title > Auto light/dark mode< / title >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< circle cx = "12" cy = "12" r = "9" / >
< path d = "M13 12h5" / >
< path d = "M13 15h4" / >
< path d = "M13 18h1" / >
< path d = "M13 9h4" / >
< path d = "M13 6h1" / >
< / svg >
< / symbol >
< / svg >
< input type = "checkbox" class = "sidebar-toggle" name = "__navigation" id = "__navigation" >
< input type = "checkbox" class = "sidebar-toggle" name = "__toc" id = "__toc" >
< label class = "overlay sidebar-overlay" for = "__navigation" >
< div class = "visually-hidden" > Hide navigation sidebar< / div >
< / label >
< label class = "overlay toc-overlay" for = "__toc" >
< div class = "visually-hidden" > Hide table of contents sidebar< / div >
< / label >
< div class = "page" >
2023-03-24 17:29:47 +00:00
<!-- <header class="mobile - header">
2022-10-12 15:02:09 +00:00
< div class = "header-left" >
< label class = "nav-overlay-icon" for = "__navigation" >
< div class = "visually-hidden" > Toggle site navigation sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-menu" > < / use > < / svg > < / i >
< / label >
< / div >
< div class = "header-center" >
< a href = "../../../" > < div class = "brand" > Gymnasium Documentation< / div > < / a >
< / div >
< div class = "header-right" >
< div class = "theme-toggle-container theme-toggle-header" >
< button class = "theme-toggle" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" > < use href = "#svg-sun-half" > < / use > < / svg >
< svg class = "theme-icon-when-dark" > < use href = "#svg-moon" > < / use > < / svg >
< svg class = "theme-icon-when-light" > < use href = "#svg-sun" > < / use > < / svg >
< / button >
< / div >
< label class = "toc-overlay-icon toc-header-icon" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
2022-12-12 13:31:00 +00:00
< / header > -->
2022-10-12 15:02:09 +00:00
< aside class = "sidebar-drawer" >
< div class = "sidebar-container" >
2022-12-12 13:31:00 +00:00
< div class = "sidebar-sticky" > < a class = "farama-sidebar__title" href = "../../../" >
< img class = "farama-header__logo only-light" src = "../../../_static/img/gymnasium_black.svg" alt = "Light Logo" / >
< img class = "farama-header__logo only-dark" src = "../../../_static/img/gymnasium_white.svg" alt = "Dark Logo" / >
< span class = "farama-header__title" > Gymnasium Documentation< / span >
< / a > < form class = "sidebar-search-container" method = "get" action = "../../../search/" role = "search" >
2023-03-24 17:29:47 +00:00
< input class = "sidebar-search" placeholder = "Search" name = "q" aria-label = "Search" >
2022-10-12 15:02:09 +00:00
< input type = "hidden" name = "check_keywords" value = "yes" >
< input type = "hidden" name = "area" value = "default" >
< / form >
< div id = "searchbox" > < / div > < div class = "sidebar-scroll" > < div class = "sidebar-tree" >
< p class = "caption" role = "heading" > < span class = "caption-text" > Introduction< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/basic_usage/" > Basic Usage< / a > < / li >
2022-10-12 15:02:33 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/gym_compatibility/" > Compatibility with Gym< / a > < / li >
2022-10-24 21:46:22 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/migration-guide/" > v21 to v26 Migration Guide< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > API< / span > < / p >
< ul class = "current" >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../env/" > Env< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../registry/" > Register and Make< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l1 current has-children" > < a class = "reference internal" href = "../" > Spaces< / a > < input checked = "" class = "toctree-checkbox" id = "toctree-checkbox-1" name = "toctree-checkbox-1" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-1" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul class = "current" >
< li class = "toctree-l2" > < a class = "reference internal" href = "../fundamental/" > Fundamental Spaces< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../composite/" > Composite Spaces< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../utils/" > Spaces Utils< / a > < / li >
< li class = "toctree-l2 current current-page" > < a class = "current reference internal" href = "#" > Spaces Vector Utils< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../wrappers/" > Wrappers< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-2" name = "toctree-checkbox-2" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-2" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../wrappers/misc_wrappers/" > Misc Wrappers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../wrappers/action_wrappers/" > Action Wrappers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../wrappers/observation_wrappers/" > Observation Wrappers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../wrappers/reward_wrappers/" > Reward Wrappers< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../vector/" > Vector< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../utils/" > Utils< / a > < / li >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../experimental/" > Experimental< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-3" name = "toctree-checkbox-3" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-3" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../experimental/functional/" > Functional Environment< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../experimental/wrappers/" > Wrappers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../experimental/vector/" > Vectorizing Environment< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../experimental/vector_wrappers/" > Vector Environment Wrappers< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../experimental/vector_utils/" > Utility functions for vectorisation< / a > < / li >
2022-12-12 13:31:00 +00:00
< / ul >
< / li >
2022-10-12 15:02:09 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Environments< / span > < / p >
< ul >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/classic_control/" > Classic Control< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-4" name = "toctree-checkbox-4" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-4" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2022-10-27 14:56:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/classic_control/acrobot/" > Acrobot< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/classic_control/cart_pole/" > Cart Pole< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/classic_control/mountain_car_continuous/" > Mountain Car Continuous< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/classic_control/mountain_car/" > Mountain Car< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/classic_control/pendulum/" > Pendulum< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< / li >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/box2d/" > Box2D< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-5" name = "toctree-checkbox-5" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-5" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2022-10-27 14:56:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/box2d/bipedal_walker/" > Bipedal Walker< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/box2d/car_racing/" > Car Racing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/box2d/lunar_lander/" > Lunar Lander< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< / li >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/toy_text/" > Toy Text< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-6" name = "toctree-checkbox-6" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-6" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2022-10-27 14:56:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/toy_text/blackjack/" > Blackjack< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/toy_text/taxi/" > Taxi< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/toy_text/cliff_walking/" > Cliff Walking< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/toy_text/frozen_lake/" > Frozen Lake< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< / li >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/mujoco/" > MuJoCo< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-7" name = "toctree-checkbox-7" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-7" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2022-10-27 14:56:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/ant/" > Ant< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/half_cheetah/" > Half Cheetah< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/hopper/" > Hopper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/humanoid_standup/" > Humanoid Standup< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/humanoid/" > Humanoid< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/inverted_double_pendulum/" > Inverted Double Pendulum< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/inverted_pendulum/" > Inverted Pendulum< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/reacher/" > Reacher< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/swimmer/" > Swimmer< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/pusher/" > Pusher< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/mujoco/walker2d/" > Walker2D< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< / li >
2022-12-12 13:31:00 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/atari/" > Atari< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-8" name = "toctree-checkbox-8" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-8" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/adventure/" > Adventure< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/air_raid/" > AirRaid< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/alien/" > Alien< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/amidar/" > Amidar< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/assault/" > Assault< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/asterix/" > Asterix< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/asteroids/" > Asteroids< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/atlantis/" > Atlantis< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/atlantis2/" > Atlantis2< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/backgammon/" > Backgammon< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/bank_heist/" > BankHeist< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/basic_math/" > BasicMath< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/battle_zone/" > BattleZone< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/beam_rider/" > BeamRider< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/berzerk/" > Berzerk< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/blackjack/" > Blackjack< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/bowling/" > Bowling< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/boxing/" > Boxing< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/breakout/" > Breakout< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/carnival/" > Carnival< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/casino/" > Casino< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/centipede/" > Centipede< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/chopper_command/" > ChopperCommand< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/crazy_climber/" > CrazyClimber< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/crossbow/" > Crossbow< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/darkchambers/" > Darkchambers< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/defender/" > Defender< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/demon_attack/" > DemonAttack< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/donkey_kong/" > DonkeyKong< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/double_dunk/" > DoubleDunk< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/earthworld/" > Earthworld< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/elevator_action/" > ElevatorAction< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/enduro/" > Enduro< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/entombed/" > Entombed< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/et/" > Et< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/fishing_derby/" > FishingDerby< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/flag_capture/" > FlagCapture< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/freeway/" > Freeway< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/frogger/" > Frogger< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/frostbite/" > Frostbite< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/galaxian/" > Galaxian< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/gopher/" > Gopher< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/gravitar/" > Gravitar< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/hangman/" > Hangman< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/haunted_house/" > HauntedHouse< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/hero/" > Hero< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/human_cannonball/" > HumanCannonball< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/ice_hockey/" > IceHockey< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/jamesbond/" > Jamesbond< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/journey_escape/" > JourneyEscape< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/kaboom/" > Kaboom< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/kangaroo/" > Kangaroo< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/keystone_kapers/" > KeystoneKapers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/king_kong/" > KingKong< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/klax/" > Klax< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/koolaid/" > Koolaid< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/krull/" > Krull< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/kung_fu_master/" > KungFuMaster< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/laser_gates/" > LaserGates< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/lost_luggage/" > LostLuggage< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/mario_bros/" > MarioBros< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/miniature_golf/" > MiniatureGolf< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/montezuma_revenge/" > MontezumaRevenge< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/mr_do/" > MrDo< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/ms_pacman/" > MsPacman< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/name_this_game/" > NameThisGame< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/othello/" > Othello< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/pacman/" > Pacman< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/phoenix/" > Phoenix< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/pitfall/" > Pitfall< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/pitfall2/" > Pitfall2< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/pong/" > Pong< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/pooyan/" > Pooyan< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/private_eye/" > PrivateEye< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/qbert/" > Qbert< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/riverraid/" > Riverraid< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/road_runner/" > RoadRunner< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/robotank/" > Robotank< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/seaquest/" > Seaquest< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/sir_lancelot/" > SirLancelot< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/skiing/" > Skiing< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/solaris/" > Solaris< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/space_invaders/" > SpaceInvaders< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/space_war/" > SpaceWar< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/star_gunner/" > StarGunner< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/superman/" > Superman< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/surround/" > Surround< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tennis/" > Tennis< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tetris/" > Tetris< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tic_tac_toe_3d/" > TicTacToe3D< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/time_pilot/" > TimePilot< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/trondead/" > Trondead< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/turmoil/" > Turmoil< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tutankham/" > Tutankham< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/up_n_down/" > UpNDown< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/venture/" > Venture< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/video_checkers/" > VideoCheckers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/video_chess/" > VideoChess< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/video_cube/" > VideoCube< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/video_pinball/" > VideoPinball< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/wizard_of_wor/" > WizardOfWor< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/word_zapper/" > WordZapper< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/yars_revenge/" > YarsRevenge< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/zaxxon/" > Zaxxon< / a > < / li >
< / ul >
< / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../environments/third_party_environments/" > Third-Party Environments< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../environments/third_party_environments/#third-party-environments-using-gym" > Third-Party Environments using Gym< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Tutorials< / span > < / p >
< ul >
2023-01-20 14:42:12 +00:00
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../tutorials/gymnasium_basics/" > Gymnasium Basics< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-9" name = "toctree-checkbox-9" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-9" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/gymnasium_basics/handling_time_limits/" > Handling Time Limits< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/gymnasium_basics/implementing_custom_wrappers/" > Implementing Custom Wrappers< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/gymnasium_basics/environment_creation/" > Make your own custom environment< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/gymnasium_basics/vector_envs_tutorial/" > Training A2C with Vector Envs and Domain Randomization< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../tutorials/training_agents/" > Training Agents< / a > < input class = "toctree-checkbox" id = "toctree-checkbox-10" name = "toctree-checkbox-10" role = "switch" type = "checkbox" / > < label for = "toctree-checkbox-10" > < div class = "visually-hidden" > Toggle child pages in navigation< / div > < i class = "icon" > < svg > < use href = "#svg-arrow-right" > < / use > < / svg > < / i > < / label > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/training_agents/reinforce_invpend_gym_v26/" > Training using REINFORCE for Mujoco< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/training_agents/blackjack_tutorial/" > Solving Blackjack with Q-Learning< / a > < / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../tutorials/training_agents/FrozenLake_tuto/" > Frozenlake benchmark< / a > < / li >
2023-01-20 14:42:12 +00:00
< / ul >
< / li >
2023-03-24 17:29:47 +00:00
< li class = "toctree-l1" > < a class = "reference external" href = "https://www.comet.com/docs/v2/integrations/ml-frameworks/gymnasium/?utm_source=gymnasium&utm_medium=partner&utm_campaign=partner_gymnasium_2023&utm_content=docs_gymnasium" > Comet Tutorial< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Development< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference external" href = "https://github.com/Farama-Foundation/Gymnasium" > Github< / a > < / li >
2023-03-25 12:03:43 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../gymnasium_release_notes/" > Gymnasium Release Notes< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../gym_release_notes/" > Gym Release Notes< / a > < / li >
2022-10-25 11:10:26 +00:00
< li class = "toctree-l1" > < a class = "reference external" href = "https://github.com/Farama-Foundation/Gymnasium/blob/main/docs/README.md" > Contribute to the Docs< / a > < / li >
2022-10-12 15:02:09 +00:00
< / ul >
< / div >
< / div >
< / div >
< / div >
< / aside >
2023-03-24 17:29:47 +00:00
< div class = "main-container" >
2022-10-12 15:02:09 +00:00
2023-03-24 17:29:47 +00:00
< div class = "main" >
< div class = "content" >
< div class = "article-container" >
< a href = "#" class = "back-to-top muted-link" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" >
< path d = "M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z" > < / path >
< / svg >
< span > Back to top< / span >
< / a >
< div class = "content-icon-container" >
< div class = "theme-toggle-container theme-toggle-content" >
< button class = "theme-toggle" title = "Toggle color theme" >
< div class = "visually-hidden" > Toggle Light / Dark / Auto color theme< / div >
< svg class = "theme-icon-when-auto" >
< use href = "#svg-sun-half" > < / use >
< / svg >
< svg class = "theme-icon-when-dark" >
< use href = "#svg-moon" > < / use >
< / svg >
< svg class = "theme-icon-when-light" >
< use href = "#svg-sun" > < / use >
< / svg >
< / button >
< / div >
< label class = "toc-overlay-icon toc-content-icon" for = "__toc" >
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg >
< use href = "#svg-toc" > < / use >
< / svg > < / i >
< / label >
2022-10-12 15:02:09 +00:00
< / div >
2023-03-24 17:29:47 +00:00
< article role = "main" >
< section id = "spaces-vector-utils" >
2022-10-12 15:02:09 +00:00
< h1 > Spaces Vector Utils< a class = "headerlink" href = "#spaces-vector-utils" title = "Permalink to this heading" > #< / a > < / h1 >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.batch_space" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.batch_space" title = "Permalink to this definition" > #< / a > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > batch_space< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Create a (batched) space, containing multiple copies of a single space.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Space (e.g. the observation space) for a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > n< / strong > – Number of environments in the vectorized environment.< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > Space< / strong > (< em > e.g. the observation space< / em > )< / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > ValueError< / strong > – Cannot batch space that is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gym.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
2023-03-24 17:29:47 +00:00
< p class = "rubric" > Example< / p >
< div class = "doctest highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "kn" > from< / span > < span class = "nn" > gymnasium.spaces< / span > < span class = "kn" > import< / span > < span class = "n" > Box< / span > < span class = "p" > ,< / span > < span class = "n" > Dict< / span >
< span class = "gp" > > > > < / span > < span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
< span class = "gp" > > > > < / span > < span class = "n" > space< / span > < span class = "o" > =< / span > < span class = "n" > Dict< / span > < span class = "p" > ({< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' position' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 3< / span > < span class = "p" > ,),< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > ),< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' velocity' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ,),< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > )< / span >
< span class = "gp" > ... < / span > < span class = "p" > })< / span >
< span class = "gp" > > > > < / span > < span class = "n" > batch_space< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > ,< / span > < span class = "n" > n< / span > < span class = "o" > =< / span > < span class = "mi" > 5< / span > < span class = "p" > )< / span >
< span class = "go" > Dict(' position' : Box(0.0, 1.0, (5, 3), float32), ' velocity' : Box(0.0, 1.0, (5, 2), float32))< / span >
< / pre > < / div >
< / div >
2022-10-12 15:02:09 +00:00
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.concatenate" >
2023-03-24 17:29:47 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > Iterable< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > ndarray< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > ndarray< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.concatenate" title = "Permalink to this definition" > #< / a > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > concatenate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > out< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Concatenate multiple samples from space into a single object.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Observation space of a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > items< / strong > – Samples to be concatenated.< / p > < / li >
< li > < p > < strong > out< / strong > – The output object. This object is a (possibly nested) numpy array.< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > The output object. This object is a< / strong > (< em > possibly nested< / em > )< / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > ValueError< / strong > – Space is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gym.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
2023-03-24 17:29:47 +00:00
< p class = "rubric" > Example< / p >
< div class = "doctest highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "kn" > from< / span > < span class = "nn" > gymnasium.spaces< / span > < span class = "kn" > import< / span > < span class = "n" > Box< / span >
< span class = "gp" > > > > < / span > < span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
< span class = "gp" > > > > < / span > < span class = "n" > space< / span > < span class = "o" > =< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 3< / span > < span class = "p" > ,),< / span > < span class = "n" > seed< / span > < span class = "o" > =< / span > < span class = "mi" > 42< / span > < span class = "p" > ,< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > )< / span >
< span class = "gp" > > > > < / span > < span class = "n" > out< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > zeros< / span > < span class = "p" > ((< / span > < span class = "mi" > 2< / span > < span class = "p" > ,< / span > < span class = "mi" > 3< / span > < span class = "p" > ),< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > )< / span >
< span class = "gp" > > > > < / span > < span class = "n" > items< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "n" > space< / span > < span class = "o" > .< / span > < span class = "n" > sample< / span > < span class = "p" > ()< / span > < span class = "k" > for< / span > < span class = "n" > _< / span > < span class = "ow" > in< / span > < span class = "nb" > range< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > )]< / span >
< span class = "gp" > > > > < / span > < span class = "n" > concatenate< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > ,< / span > < span class = "n" > items< / span > < span class = "p" > ,< / span > < span class = "n" > out< / span > < span class = "p" > )< / span >
< span class = "go" > array([[0.77395606, 0.43887845, 0.85859793],< / span >
< span class = "go" > [0.697368 , 0.09417735, 0.97562236]], dtype=float32)< / span >
< / pre > < / div >
< / div >
2022-10-12 15:02:09 +00:00
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.iterate" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > Iterator< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.iterate" title = "Permalink to this definition" > #< / a > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > iterate< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > items< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Iterate over the elements of a (batched) space.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Space to which < cite > items< / cite > belong to.< / p > < / li >
< li > < p > < strong > items< / strong > – Items to be iterated over.< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > Iterator over the elements in `items`.< / strong > < / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > ValueError< / strong > – Space is not an instance of < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gym.Space< / span > < / code > < / p >
< / dd >
< / dl >
2023-03-24 17:29:47 +00:00
< p class = "rubric" > Example< / p >
< div class = "doctest highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "kn" > from< / span > < span class = "nn" > gymnasium.spaces< / span > < span class = "kn" > import< / span > < span class = "n" > Box< / span > < span class = "p" > ,< / span > < span class = "n" > Dict< / span >
< span class = "gp" > > > > < / span > < span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
< span class = "gp" > > > > < / span > < span class = "n" > space< / span > < span class = "o" > =< / span > < span class = "n" > Dict< / span > < span class = "p" > ({< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' position' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ,< / span > < span class = "mi" > 3< / span > < span class = "p" > ),< / span > < span class = "n" > seed< / span > < span class = "o" > =< / span > < span class = "mi" > 42< / span > < span class = "p" > ,< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > ),< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' velocity' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ,< / span > < span class = "mi" > 2< / span > < span class = "p" > ),< / span > < span class = "n" > seed< / span > < span class = "o" > =< / span > < span class = "mi" > 42< / span > < span class = "p" > ,< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > )})< / span >
< span class = "gp" > > > > < / span > < span class = "n" > items< / span > < span class = "o" > =< / span > < span class = "n" > space< / span > < span class = "o" > .< / span > < span class = "n" > sample< / span > < span class = "p" > ()< / span >
< span class = "gp" > > > > < / span > < span class = "n" > it< / span > < span class = "o" > =< / span > < span class = "n" > iterate< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > ,< / span > < span class = "n" > items< / span > < span class = "p" > )< / span >
< span class = "gp" > > > > < / span > < span class = "nb" > next< / span > < span class = "p" > (< / span > < span class = "n" > it< / span > < span class = "p" > )< / span >
< span class = "go" > OrderedDict([(' position' , array([0.77395606, 0.43887845, 0.85859793], dtype=float32)), (' velocity' , array([0.77395606, 0.43887845], dtype=float32))])< / span >
< span class = "gp" > > > > < / span > < span class = "nb" > next< / span > < span class = "p" > (< / span > < span class = "n" > it< / span > < span class = "p" > )< / span >
< span class = "go" > OrderedDict([(' position' , array([0.697368 , 0.09417735, 0.97562236], dtype=float32)), (' velocity' , array([0.85859793, 0.697368 ], dtype=float32))])< / span >
< span class = "gp" > > > > < / span > < span class = "nb" > next< / span > < span class = "p" > (< / span > < span class = "n" > it< / span > < span class = "p" > )< / span >
< span class = "gt" > Traceback (most recent call last):< / span >
< span class = "w" > < / span > < span class = "o" > ...< / span >
< span class = "gr" > StopIteration< / span >
< / pre > < / div >
< / div >
2022-10-12 15:02:09 +00:00
< / dd > < / dl >
< section id = "shared-memory-utils" >
< h2 > Shared Memory Utils< a class = "headerlink" href = "#shared-memory-utils" title = "Permalink to this heading" > #< / a > < / h2 >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.create_empty_array" >
2023-03-24 17:29:47 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > Callable< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "p" > < span class = "pre" > ...< / span > < / span > < span class = "p" > < span class = "pre" > ]< / span > < / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > ndarray< / span > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > np.zeros< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > ndarray< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.create_empty_array" title = "Permalink to this definition" > #< / a > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.multi_binary.MultiBinary< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.multi_discrete.MultiDiscrete< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.discrete.Discrete< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.box.Box< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.tuple.Tuple< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.dict.Dict< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_empty_array< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.space.Space< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > fn=< built-in< / span > < span class = "pre" > function< / span > < span class = "pre" > zeros> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Create an empty (possibly nested) numpy array.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Observation space of a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > n< / strong > – Number of environments in the vectorized environment. If < cite > None< / cite > , creates an empty sample from < cite > space< / cite > .< / p > < / li >
< li > < p > < strong > fn< / strong > – Function to apply when creating the empty numpy array. Examples of such functions are < cite > np.empty< / cite > or < cite > np.zeros< / cite > .< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > The output object. This object is a< / strong > (< em > possibly nested< / em > )< / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > ValueError< / strong > – Space is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gym.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
2023-03-24 17:29:47 +00:00
< p class = "rubric" > Example< / p >
< div class = "doctest highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "kn" > from< / span > < span class = "nn" > gymnasium.spaces< / span > < span class = "kn" > import< / span > < span class = "n" > Box< / span > < span class = "p" > ,< / span > < span class = "n" > Dict< / span >
< span class = "gp" > > > > < / span > < span class = "kn" > import< / span > < span class = "nn" > numpy< / span > < span class = "k" > as< / span > < span class = "nn" > np< / span >
< span class = "gp" > > > > < / span > < span class = "n" > space< / span > < span class = "o" > =< / span > < span class = "n" > Dict< / span > < span class = "p" > ({< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' position' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 3< / span > < span class = "p" > ,),< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > ),< / span >
< span class = "gp" > ... < / span > < span class = "s1" > ' velocity' < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "n" > low< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span > < span class = "p" > ,< / span > < span class = "n" > shape< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ,),< / span > < span class = "n" > dtype< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > float32< / span > < span class = "p" > )})< / span >
< span class = "gp" > > > > < / span > < span class = "n" > create_empty_array< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > ,< / span > < span class = "n" > n< / span > < span class = "o" > =< / span > < span class = "mi" > 2< / span > < span class = "p" > ,< / span > < span class = "n" > fn< / span > < span class = "o" > =< / span > < span class = "n" > np< / span > < span class = "o" > .< / span > < span class = "n" > zeros< / span > < span class = "p" > )< / span >
< span class = "go" > OrderedDict([(' position' , array([[0., 0., 0.],< / span >
< span class = "go" > [0., 0., 0.]], dtype=float32)), (' velocity' , array([[0., 0.],< / span >
< span class = "go" > [0., 0.]], dtype=float32))])< / span >
< / pre > < / div >
< / div >
2022-10-12 15:02:09 +00:00
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.create_shared_memory" >
2023-03-24 17:29:47 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx< / span > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "default_value" > < span class = "pre" > mp< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Array< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.create_shared_memory" title = "Permalink to this definition" > #< / a > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.multi_binary.MultiBinary< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n:< / span > < span class = "pre" > int< / span > < span class = "pre" > =< / span > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.multi_discrete.MultiDiscrete< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n:< / span > < span class = "pre" > int< / span > < span class = "pre" > =< / span > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.discrete.Discrete< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n:< / span > < span class = "pre" > int< / span > < span class = "pre" > =< / span > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.box.Box< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n:< / span > < span class = "pre" > int< / span > < span class = "pre" > =< / span > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.tuple.Tuple< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n:< / span > < span class = "pre" > int< / span > < span class = "pre" > =< / span > < span class = "pre" > 1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
2023-01-20 14:42:12 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > create_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space:< / span > < span class = "pre" > ~gymnasium.spaces.dict.Dict< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n=1< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > ctx=< module< / span > < span class = "pre" > 'multiprocessing'< / span > < span class = "pre" > from< / span > < span class = "pre" > '/opt/hostedtoolcache/Python/3.9.16/x64/lib/python3.9/multiprocessing/__init__.py'> < / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-10-12 15:02:09 +00:00
< dd > < p > Create a shared memory object, to be shared across processes.< / p >
< p > This eventually contains the observations from the vectorized environment.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Observation space of a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > n< / strong > – Number of environments in the vectorized environment (i.e. the number of processes).< / p > < / li >
< li > < p > < strong > ctx< / strong > – The multiprocess module< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > shared_memory for the shared object across processes.< / strong > < / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > CustomSpaceError< / strong > – Space is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gymnasium.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.read_from_shared_memory" >
2023-03-24 17:29:47 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Array< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > ndarray< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.vector.utils.read_from_shared_memory" title = "Permalink to this definition" > #< / a > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > read_from_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > n< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < span class = "w" > < / span > < span class = "o" > < span class = "pre" > =< / span > < / span > < span class = "w" > < / span > < span class = "default_value" > < span class = "pre" > 1< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Read the batch of observations from shared memory as a numpy array.< / p >
< dl class = "simple" >
< dt > ..notes::< / dt > < dd > < p > The numpy array objects returned by < cite > read_from_shared_memory< / cite > shares the
memory of < cite > shared_memory< / cite > . Any changes to < cite > shared_memory< / cite > are forwarded
to < cite > observations< / cite > , and vice-versa. To avoid any side-effect, use < cite > np.copy< / cite > .< / p >
< / dd >
< / dl >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Observation space of a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > shared_memory< / strong > – Shared object across processes. This contains the observations from the vectorized environment.
This object is created with < cite > create_shared_memory< / cite > .< / p > < / li >
< li > < p > < strong > n< / strong > – Number of environments in the vectorized environment (i.e. the number of processes).< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > Batch of observations as a< / strong > (< em > possibly nested< / em > )< / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > CustomSpaceError< / strong > – Space is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gymnasium.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.vector.utils.write_to_shared_memory" >
2023-03-24 17:29:47 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../#gymnasium.spaces.Space" title = "gymnasium.spaces.space.Space" > < span class = "pre" > Space< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > int< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > value< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > ndarray< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > dict< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "w" > < / span > < span class = "p" > < span class = "pre" > |< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Array< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < a class = "headerlink" href = "#gymnasium.vector.utils.write_to_shared_memory" title = "Permalink to this definition" > #< / a > < / dt >
2022-10-12 15:02:09 +00:00
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > value< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > value< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > value< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > value< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > values< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dt class = "sig sig-object py" >
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.vector.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > write_to_shared_memory< / span > < / span > < span class = "sig-paren" > (< / span > < em class = "sig-param" > < span class = "n" > < span class = "pre" > space< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > index< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > values< / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > shared_memory< / span > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
< dd > < p > Write the observation of a single environment into shared memory.< / p >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > space< / strong > – Observation space of a single environment in the vectorized environment.< / p > < / li >
< li > < p > < strong > index< / strong > – Index of the environment (must be in < cite > [0, num_envs)< / cite > ).< / p > < / li >
< li > < p > < strong > value< / strong > – Observation of the single environment to write to shared memory.< / p > < / li >
< li > < p > < strong > shared_memory< / strong > – Shared object across processes. This contains the observations from the vectorized environment.
This object is created with < cite > create_shared_memory< / cite > .< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > CustomSpaceError< / strong > – Space is not a valid < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > gymnasium.Space< / span > < / code > instance< / p >
< / dd >
< / dl >
< / dd > < / dl >
< / section >
< / section >
2023-03-24 17:29:47 +00:00
< / article >
< / div >
< footer >
< div class = "related-pages" >
< a class = "next-page" href = "../../wrappers/" >
2022-10-12 15:02:09 +00:00
< div class = "page-info" >
< div class = "context" >
< span > Next< / span >
< / div >
< div class = "title" > Wrappers< / div >
< / div >
2023-03-24 17:29:47 +00:00
< svg class = "furo-related-icon" >
< use href = "#svg-arrow-right" > < / use >
< / svg >
2022-10-12 15:02:09 +00:00
< / a >
< a class = "prev-page" href = "../utils/" >
2023-03-24 17:29:47 +00:00
< svg class = "furo-related-icon" >
< use href = "#svg-arrow-right" > < / use >
< / svg >
2022-10-12 15:02:09 +00:00
< div class = "page-info" >
< div class = "context" >
< span > Previous< / span >
< / div >
< div class = "title" > Spaces Utils< / div >
< / div >
< / a >
2023-03-24 17:29:47 +00:00
< / div >
< div class = "bottom-of-page" >
< div class = "left-details" >
< div class = "copyright" >
2022-10-23 09:15:41 +00:00
Copyright © 2022 Farama Foundation
2023-03-24 17:29:47 +00:00
< / div >
<!--
2022-10-12 15:02:09 +00:00
Made with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > and < a class = "muted-link" href = "https://pradyunsg.me" > @pradyunsg< / a > 's
< a href = "https://github.com/pradyunsg/furo" > Furo< / a >
2022-10-15 15:13:56 +00:00
-->
2023-03-24 17:29:47 +00:00
< / div >
< div class = "right-details" >
< div class = "icons" >
< / div >
2022-10-12 15:02:09 +00:00
< / div >
< / div >
2023-03-24 17:29:47 +00:00
< / footer >
< / div >
< aside class = "toc-drawer" >
2022-10-12 15:02:09 +00:00
2023-03-24 17:29:47 +00:00
< div class = "toc-sticky toc-scroll" >
< div class = "toc-title-container" >
< span class = "toc-title" >
On this page
< / span >
< / div >
< div class = "toc-tree-container" >
< div class = "toc-tree" >
< ul >
2022-10-12 15:02:09 +00:00
< li > < a class = "reference internal" href = "#" > Spaces Vector Utils< / a > < ul >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.batch_space" > < code class = "docutils literal notranslate" > < span class = "pre" > batch_space()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.concatenate" > < code class = "docutils literal notranslate" > < span class = "pre" > concatenate()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.iterate" > < code class = "docutils literal notranslate" > < span class = "pre" > iterate()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#shared-memory-utils" > Shared Memory Utils< / a > < ul >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.create_empty_array" > < code class = "docutils literal notranslate" > < span class = "pre" > create_empty_array()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.create_shared_memory" > < code class = "docutils literal notranslate" > < span class = "pre" > create_shared_memory()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.read_from_shared_memory" > < code class = "docutils literal notranslate" > < span class = "pre" > read_from_shared_memory()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.vector.utils.write_to_shared_memory" > < code class = "docutils literal notranslate" > < span class = "pre" > write_to_shared_memory()< / span > < / code > < / a > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
2023-03-24 17:29:47 +00:00
< / div >
2022-10-12 15:02:09 +00:00
< / div >
< / div >
2023-03-24 17:29:47 +00:00
< / aside >
< / div >
2022-10-12 15:02:09 +00:00
< / div >
< / div >
< script >
2022-12-12 13:31:00 +00:00
const toggleMenu = () => {
const menuBtn = document.querySelector(".farama-header-menu__btn");
const menuContainer = document.querySelector(".farama-header-menu-container");
if (document.querySelector(".farama-header-menu").classList.contains("active")) {
2023-01-20 14:42:12 +00:00
menuBtn.setAttribute("aria-expanded", "false");
menuContainer.setAttribute("aria-hidden", "true");
2022-12-12 13:31:00 +00:00
} else {
2023-01-20 14:42:12 +00:00
menuBtn.setAttribute("aria-expanded", "true");
menuContainer.setAttribute("aria-hidden", "false");
2022-12-12 13:31:00 +00:00
}
2022-10-12 15:02:09 +00:00
document.querySelector(".farama-header-menu").classList.toggle("active");
}
document.querySelector(".farama-header-menu__btn").addEventListener("click", toggleMenu);
document.getElementById("farama-close-menu").addEventListener("click", toggleMenu);
< / script >
2022-10-13 10:54:57 +00:00
< script >
(() => {
if (!localStorage.getItem("shownCookieAlert")) {
const boxElem = document.createElement("div");
boxElem.classList.add("cookie-alert");
const containerElem = document.createElement("div");
containerElem.classList.add("cookie-alert__container");
const textElem = document.createElement("p");
textElem.innerHTML = `This page uses < a href = "https://analytics.google.com/" >
Google Analytics< / a > to collect statistics. You can disable it by blocking
the JavaScript coming from www.google-analytics.com.`;
containerElem.appendChild(textElem);
const closeBtn = document.createElement("button");
closeBtn.innerHTML = `<?xml version="1.0" ?> < svg viewBox = "0 0 32 32" xmlns = "http://www.w3.org/2000/svg" > < defs > < style > . cls-1 { fill : none ; stroke : #000 ; stroke-linecap : round ; stroke-linejoin : round ; stroke-width : 2 px ; } < / style > < / defs > < title / > < g id = "cross" > < line class = "cls-1" x1 = "7" x2 = "25" y1 = "7" y2 = "25" / > < line class = "cls-1" x1 = "7" x2 = "25" y1 = "25" y2 = "7" / > < / g > < / svg > `
closeBtn.onclick = () => {
localStorage.setItem("shownCookieAlert", "true");
boxElem.style.display = "none";
}
containerElem.appendChild(closeBtn);
boxElem.appendChild(containerElem);
document.body.appendChild(boxElem);
}
})()
< / script >
< script async src = "https://www.googletagmanager.com/gtag/js?id=G-6H9C8TWXZ8" > < / script >
< script >
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-6H9C8TWXZ8');
< / script >
2022-10-12 15:02:09 +00:00
< script data-url_root = "../../../" id = "documentation_options" src = "../../../_static/documentation_options.js" > < / script >
< script src = "../../../_static/doctools.js" > < / script >
< script src = "../../../_static/sphinx_highlight.js" > < / script >
< script src = "../../../_static/scripts/furo.js" > < / script >
2022-10-21 15:39:00 +00:00
2022-12-12 13:31:00 +00:00
< script >
const createCORSRequest = (method, url) => {
let xhr = new XMLHttpRequest();
xhr.responseType = 'json';
if ("withCredentials" in xhr) {
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// IE8 & IE9
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// CORS not supported.
xhr = null;
}
return xhr;
};
const url = 'https://farama.org/api/projects.json';
const imagesBasepath = "https://farama.org/assets/images"
const method = 'GET';
let xhr = createCORSRequest(method, url);
xhr.onload = () => {
const jsonResponse = xhr.response;
const sections = {
"Documentation": [],
"Mature Projects": [],
"Incubating Projects": [],
"Foundation": [
{
name: "About",
link: "https://farama.org/about"
},
{
name: "Standards",
link: "https://farama.org/project_standards",
},
{
name: "Donate",
link: "https://farama.org/donations"
}
]
}
Object.keys(jsonResponse).forEach(key => {
projectJson = jsonResponse[key];
if (projectJson.website !== null) {
projectJson.link = projectJson.website;
sections["Documentation"].push(projectJson)
} else if (projectJson.type == "mature") {
projectJson.link = projectJson.github;
sections["Mature Projects"].push(projectJson)
} else {
projectJson.link = projectJson.github;
sections["Incubating Projects"].push(projectJson)
}
})
const menuContainer = document.querySelector(".farama-header-menu__body");
Object.keys(sections).forEach((key, i) => {
projects = sections[key];
const sectionElem = Object.assign(
document.createElement('div'), {
className:'farama-header-menu__section',
style: "padding-left: 24px"
}
)
sectionElem.appendChild(Object.assign(document.createElement('span'),
{
className:'farama-header-menu__section-title' ,
innerText: key
}
))
const ulElem = Object.assign(document.createElement('ul'),
{
className:'farama-header-menu-list',
}
)
for (let project of projects) {
const liElem = document.createElement("li");
const aElem = Object.assign(document.createElement("a"),
{
href: project.link
}
);
liElem.appendChild(aElem);
if (key !== "Foundation") {
const imgElem = Object.assign(document.createElement("img"),
{
src: project.image ? imagesBasepath + project.image : imagesBasepath + "/farama_black.svg",
alt: `${project.name} logo`,
className: "farama-black-logo-invert"
}
);
aElem.appendChild(imgElem);
}
aElem.appendChild(document.createTextNode(project.name));
ulElem.appendChild(liElem);
}
sectionElem.appendChild(ulElem);
menuContainer.appendChild(sectionElem)
});
}
xhr.onerror = function() {
console.error("Unable to load projects");
};
xhr.send();
< / script >
2022-10-25 11:10:26 +00:00
< script >
const versioningConfig = {
githubUser: 'Farama-Foundation',
githubRepo: 'Gymnasium',
};
2023-01-20 14:42:12 +00:00
fetch('/main/_static/versioning/versioning_menu.html').then(response => {
2022-10-25 11:10:26 +00:00
if (response.status === 200) {
response.text().then(text => {
const container = document.createElement("div");
container.innerHTML = text;
document.querySelector("body").appendChild(container);
// innerHtml doenst evaluate scripts, we need to add them dynamically
Array.from(container.querySelectorAll("script")).forEach(oldScript => {
const newScript = document.createElement("script");
Array.from(oldScript.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value));
newScript.appendChild(document.createTextNode(oldScript.innerHTML));
oldScript.parentNode.replaceChild(newScript, oldScript);
});
});
} else {
console.warn("Unable to load versioning menu", response);
}
});
2023-03-24 17:29:47 +00:00
< / script >
< / body >
2022-10-12 15:02:09 +00:00
< / html >