2022-09-13 19:29:14 +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-09-27 16:22:21 +00:00
< meta name = "color-scheme" content = "light dark" > < 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 = "Spaces Vector Utils" href = "../vector_utils/" / > < link rel = "prev" title = "Composite Spaces" href = "../composite/" / >
2022-09-16 13:02:04 +00:00
< link rel = "canonical" href = "https://gymnasium.farama.org/api/spaces/utils.html" / >
2022-09-13 19:29:14 +00:00
2022-10-03 15:02:45 +00:00
< link rel = "shortcut icon" href = "../../../_static/favicon.png" / > < meta name = "generator" content = "sphinx-5.2.3, furo 2022.09.15.dev1" / >
2022-09-13 19:29:14 +00:00
< title > Spaces Utils - Gymnasium Documentation< / title >
2022-09-16 13:02:04 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/pygments.css" / >
< link rel = "stylesheet" type = "text/css" href = "../../../_static/styles/furo.css?digest=9ec31e2665bf879c1d47d93a8ec4893870ee1e45" / >
2022-10-08 23:42:10 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../_static/styles/furo-extensions.css?digest=c2d5e51f39e130612d57e150aebc94239a19910f" / >
2022-09-13 19:29:14 +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-10-03 15:02:45 +00:00
< header class = "farama-header" >
< div class = "farama-header__container" >
< div class = "farama-header__left" >
2022-10-08 23:42:10 +00:00
< a href = "../../../" >
2022-10-03 15:02:45 +00:00
< 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" / >
< h1 class = "farama-header__title" > Gymnasium Documentation< / h1 >
< / a >
< / div >
< div class = "farama-header__right" >
< div class = "farama-header-menu" >
< div class = "farama-header-menu__btn" >
< span class = "farama-header-menu__btn-name" >
The Farama Foundation
< / span >
< svg viewBox = "0 0 32 32" xmlns = "http://www.w3.org/2000/svg" xmlns:bx = "https://boxy-svg.com" >
< defs > < / defs >
< path d = "M 3 4.677 C 3 3.751 3.659 3 4.474 3 L 27.526 3 C 28.341 3 29 3.751 29 4.677 C 29 5.603 28.341 6.354 27.526 6.354 L 4.474 6.354 C 3.659 6.354 3 5.603 3 4.677 Z" bx:origin = "0.622825 3.875593" > < / path >
< path d = "M 3 16 C 3 15.074 3.659 14.323 4.474 14.323 L 27.526 14.323 C 28.341 14.323 29 15.074 29 16 C 29 16.926 28.341 17.677 27.526 17.677 L 4.474 17.677 C 3.659 17.677 3 16.926 3 16 Z" bx:origin = "0.622825 0.5" > < / path >
< path d = "M 3 27.323 C 3 26.397 3.659 25.646 4.474 25.646 L 27.526 25.646 C 28.341 25.646 29 26.397 29 27.323 C 29 28.249 28.341 29 27.526 29 L 4.474 29 C 3.659 29 3 28.249 3 27.323 Z" bx:origin = "0.622825 -2.875591" > < / path >
< / svg >
< / div >
< div class = "farama-header-menu__list" >
< div class = "farama-header-menu-list__header" >
2022-10-05 17:10:20 +00:00
< a href = "https://farama.org" >
< img class = "farama-header-menu__logo" src = "../../../_static/img/farama_solid_white.svg" >
< span > The Farama Foundation< / span >
< / a >
2022-10-03 15:02:45 +00:00
< 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 >
< div class = "farama-header-menu-list__body" >
< span class = "farama-header-menu__section-title" > Projects< / span >
< ul >
< li >
< a href = "https://gymnasium.farama.org" > Gymnasium< / a >
< / li >
< li >
< a href = "https://pettingzoo.farama.org" > PettingZoo< / a >
< / li >
< li >
< a href = "https://github.com/Farama-Foundation/SuperSuit" > SuperSuit< / a >
< / li >
< li >
2022-10-05 17:10:20 +00:00
< a href = "https://github.com/Farama-Foundation/MiniGrid" > MiniGrid< / a >
2022-10-03 15:02:45 +00:00
< / li >
< li >
< a href = "https://github.com/Farama-Foundation/gym-robotics" > Gymnasium-Robotics
< / a >
< / li >
< li >
2022-10-05 17:10:20 +00:00
< a href = "https://github.com/Farama-Foundation/tinyscaler" > Tinyscaler< / a >
2022-10-03 15:02:45 +00:00
< / li >
< li >
2022-10-05 17:10:20 +00:00
< a href = "https://github.com/Farama-Foundation/AutoROM" > AutoROM< / a >
2022-10-03 15:02:45 +00:00
< / li >
< li >
< a href = "https://github.com/Farama-Foundation/Jumpy" > JumPy< / a >
< / li >
< / ul >
< / div >
< / div >
< / div >
< / div >
< / div >
< / header >
< div class = "farama-header-menu__overlay" > < / div >
2022-09-13 19:29:14 +00:00
< 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" >
< header class = "mobile-header" >
< 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" >
2022-09-16 13:02:04 +00:00
< a href = "../../../" > < div class = "brand" > Gymnasium Documentation< / div > < / a >
2022-09-13 19:29:14 +00:00
< / 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 >
2022-09-25 14:44:48 +00:00
< label class = "toc-overlay-icon toc-header-icon" for = "__toc" >
2022-09-13 19:29:14 +00:00
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< / header >
< aside class = "sidebar-drawer" >
< div class = "sidebar-container" >
2022-10-03 15:02:45 +00:00
< div class = "sidebar-sticky" > < form class = "sidebar-search-container" method = "get" action = "../../../search/" role = "search" >
2022-09-13 19:29:14 +00:00
< input class = "sidebar-search" placeholder = Search name = "q" aria-label = "Search" >
< 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 >
2022-09-16 13:02:04 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/basic_usage/" > Basic Usage< / a > < / li >
2022-09-13 19:29:14 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > API< / span > < / p >
< ul class = "current" >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../env/" > Env< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../registry/" > Registry< / a > < / li >
2022-09-16 13:02:04 +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 current current-page" > < a class = "current reference internal" href = "#" > Spaces Utils< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../vector_utils/" > 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 >
2022-09-16 13:02:04 +00:00
< / 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-09-13 19:29:14 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Environments< / span > < / p >
< ul >
2022-10-12 15:02:09 +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-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 = "../../../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 >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/box2d/" > Box2D< / 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 >
< 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 >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/toy_text/" > Toy Text< / 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 >
< 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 >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/mujoco/" > MuJoCo< / 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 >
< 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 >
< / ul >
< / li >
< li class = "toctree-l1 has-children" > < a class = "reference internal" href = "../../../environments/atari/" > Atari< / 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-09-16 13:02:04 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/adventure/" > Adventure< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/air_raid/" > Air Raid< / a > < / li >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/bank_heist/" > Bank Heist< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/battle_zone/" > Battle Zone< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/beam_rider/" > Beam Rider< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/berzerk/" > Berzerk< / a > < / li >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/centipede/" > Centipede< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/chopper_command/" > Chopper Command< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/crazy_climber/" > Crazy Climber< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/defender/" > Defender< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/demon_attack/" > Demon Attack< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/double_dunk/" > Double Dunk< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/elevator_action/" > Elevator Action< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/enduro/" > Enduro< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/fishing_derby/" > FishingDerby< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/freeway/" > Freeway< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/frostbite/" > Frostbite< / a > < / li >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/hero/" > Hero< / a > < / li >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/kangaroo/" > Kangaroo< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/krull/" > Krull< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/kung_fu_master/" > Kung Fu Master< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/montezuma_revenge/" > Montezuma Revenge< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/ms_pacman/" > Ms Pacman< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/name_this_game/" > Name This Game< / a > < / li >
< 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 >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/road_runner/" > Road Runner< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/robotank/" > Robot Tank< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/seaquest/" > Seaquest< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/skiing/" > Skiings< / a > < / li >
< 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 >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/star_gunner/" > StarGunner< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tennis/" > Tennis< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/time_pilot/" > TimePilot< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/tutankham/" > Tutankham< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/up_n_down/" > Up n’ Down< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/venture/" > Venture< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/video_pinball/" > Video Pinball< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/wizard_of_wor/" > Wizard of Wor< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "../../../environments/atari/zaxxon/" > Zaxxon< / a > < / li >
2022-09-13 19:29:14 +00:00
< / ul >
< / li >
2022-10-10 15:25:54 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../environments/third_party_environments/" > Third-Party Environments< / a > < / li >
2022-09-13 19:29:14 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Tutorials< / span > < / p >
< ul >
2022-09-16 13:02:04 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/environment_creation/" > Make your own custom environment< / a > < / li >
2022-10-12 15:02:09 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/vectorising/" > Vectorizing your environments< / a > < / li >
2022-09-27 16:22:21 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../content/handling_timelimits/" > Handling Time Limits< / a > < / li >
2022-09-13 19:29:14 +00:00
< / ul >
< p class = "caption" role = "heading" > < span class = "caption-text" > Development< / span > < / p >
< ul >
2022-09-16 13:02:04 +00:00
< li class = "toctree-l1" > < a class = "reference external" href = "https://github.com/Farama-Foundation/Gymnasium" > Github< / a > < / li >
2022-09-13 19:29:14 +00:00
< li class = "toctree-l1" > < a class = "reference external" href = "https://farama.org/donations" > Donate< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< / div >
< / aside >
< 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" >
2022-10-03 15:02:45 +00:00
2022-10-08 23:42:10 +00:00
< div class = "edit-this-page" >
< a class = "muted-link" href = "https://github.com/Farama-Foundation/Gymnasium/edit/main/docs/api/spaces/utils.md" title = "Edit this page" >
2022-10-03 15:02:45 +00:00
< svg aria-hidden = "true" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" fill = "none" stroke-linecap = "round" stroke-linejoin = "round" >
< path stroke = "none" d = "M0 0h24v24H0z" fill = "none" / >
< path d = "M4 20h4l10.5 -10.5a1.5 1.5 0 0 0 -4 -4l-10.5 10.5v4" / >
< line x1 = "13.5" y1 = "6.5" x2 = "17.5" y2 = "10.5" / >
< / svg >
< span class = "visually-hidden" > Edit this page< / span >
< / a >
< / div > < div class = "theme-toggle-container theme-toggle-content" >
2022-09-13 19:29:14 +00:00
< 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 >
2022-09-25 14:44:48 +00:00
< label class = "toc-overlay-icon toc-content-icon" for = "__toc" >
2022-09-13 19:29:14 +00:00
< div class = "visually-hidden" > Toggle table of contents sidebar< / div >
< i class = "icon" > < svg > < use href = "#svg-toc" > < / use > < / svg > < / i >
< / label >
< / div >
< article role = "main" >
2022-10-03 15:02:45 +00:00
2022-09-13 19:29:14 +00:00
< section id = "spaces-utils" >
< h1 > Spaces Utils< a class = "headerlink" href = "#spaces-utils" title = "Permalink to this heading" > #< / a > < / h1 >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.spaces.utils.flatdim" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > int< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.spaces.utils.flatdim" title = "Permalink to this definition" > #< / a > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / 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" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / 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" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < / span > < / em > < span class = "sig-paren" > )< / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatdim< / 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.Text" title = "gymnasium.spaces.text.Text" > < span class = "pre" > Text< / span > < / a > < / 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" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dd > < p > Return the number of dimensions a flattened equivalent of this space would have.< / p >
< p > Example usage:< / p >
< div class = "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" > Discrete< / 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 = "s2" > " position" < / span > < span class = "p" > :< / span > < span class = "n" > Discrete< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ),< / span > < span class = "s2" > " velocity" < / span > < span class = "p" > :< / span > < span class = "n" > Discrete< / span > < span class = "p" > (< / span > < span class = "mi" > 3< / span > < span class = "p" > )})< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatdim< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > )< / span >
< span class = "go" > 5< / span >
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > space< / strong > – The space to return the number of dimensions of the flattened spaces< / p >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > The number of dimensions for the flattened spaces< / strong > < / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < ul class = "simple" >
< li > < p > < strong > NotImplementedError< / strong > – if the space is not defined in < code class = "docutils literal notranslate" > < span class = "pre" > gym.spaces< / span > < / code > .< / p > < / li >
< li > < p > < strong > ValueError< / strong > – if the space cannot be flattened into a < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Box< / span > < / code > < / p > < / li >
< / ul >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.spaces.utils.flatten_space" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Sequence" title = "gymnasium.spaces.sequence.Sequence" > < span class = "pre" > Sequence< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.spaces.utils.flatten_space" title = "Permalink to this definition" > #< / a > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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 > < 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 = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / 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 = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / 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 = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Discrete" title = "gymnasium.spaces.discrete.Discrete" > < span class = "pre" > Discrete< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiDiscrete" title = "gymnasium.spaces.multi_discrete.MultiDiscrete" > < span class = "pre" > MultiDiscrete< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / 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 = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Tuple" title = "gymnasium.spaces.tuple.Tuple" > < span class = "pre" > Tuple< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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 > < span class = "sig-paren" > )< / span > < span class = "sig-return" > < span class = "sig-return-icon" > → < / span > < span class = "sig-return-typehint" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../composite/#gymnasium.spaces.Dict" title = "gymnasium.spaces.dict.Dict" > < span class = "pre" > Dict< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < / 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 = "../composite/#gymnasium.spaces.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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.Text" title = "gymnasium.spaces.text.Text" > < span class = "pre" > Text< / span > < / a > < / 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 = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten_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.Sequence" title = "gymnasium.spaces.sequence.Sequence" > < span class = "pre" > Sequence< / span > < / a > < / 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 = "../composite/#gymnasium.spaces.Sequence" title = "gymnasium.spaces.sequence.Sequence" > < span class = "pre" > Sequence< / span > < / a > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dd > < p > Flatten a space into a space that is as flat as possible.< / p >
< p > This function will attempt to flatten < cite > space< / cite > into a single < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Box< / span > < / code > space.
However, this might not be possible when < cite > space< / cite > is an instance of < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Graph< / span > < / code > ,
< code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Sequence< / span > < / code > or a compound space that contains a < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Graph< / span > < / code > or < code class = "xref py py-class docutils literal notranslate" > < span class = "pre" > Sequence`space.< / span >
< span class = "pre" > This< / span > < span class = "pre" > is< / span > < span class = "pre" > equivalent< / span > < span class = "pre" > to< / span > < span class = "pre" > :func:`flatten< / span > < / code > , but operates on the space itself. The
result for non-graph spaces is always a < cite > Box< / cite > with flat boundaries. While
the result for graph spaces is always a < cite > Graph< / cite > with < cite > node_space< / cite > being a < cite > Box< / cite >
with flat boundaries and < cite > edge_space< / cite > being a < cite > Box< / cite > with flat boundaries or
< cite > None< / cite > . The box has exactly < a class = "reference internal" href = "#gymnasium.spaces.utils.flatdim" title = "gymnasium.spaces.utils.flatdim" > < code class = "xref py py-func docutils literal notranslate" > < span class = "pre" > flatdim()< / span > < / code > < / a > dimensions. Flattening a sample
of the original space has the same effect as taking a sample of the flattenend
space.< / p >
< p > Example:< / p >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "n" > box< / span > < span class = "o" > =< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "mf" > 0.0< / span > < span class = "p" > ,< / span > < span class = "mf" > 1.0< / 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 = "mi" > 4< / span > < span class = "p" > ,< / span > < span class = "mi" > 5< / span > < span class = "p" > ))< / span >
< span class = "gp" > > > > < / span > < span class = "n" > box< / span >
< span class = "go" > Box(3, 4, 5)< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > box< / span > < span class = "p" > )< / span >
< span class = "go" > Box(60,)< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > box< / span > < span class = "p" > ,< / span > < span class = "n" > box< / span > < span class = "o" > .< / span > < span class = "n" > sample< / span > < span class = "p" > ())< / span > < span class = "ow" > in< / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > box< / span > < span class = "p" > )< / span >
< span class = "go" > True< / span >
< / pre > < / div >
< / div >
< p > Example that flattens a discrete space:< / p >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "n" > discrete< / span > < span class = "o" > =< / span > < span class = "n" > Discrete< / span > < span class = "p" > (< / span > < span class = "mi" > 5< / span > < span class = "p" > )< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > discrete< / span > < span class = "p" > )< / span >
< span class = "go" > Box(5,)< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > box< / span > < span class = "p" > ,< / span > < span class = "n" > box< / span > < span class = "o" > .< / span > < span class = "n" > sample< / span > < span class = "p" > ())< / span > < span class = "ow" > in< / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > box< / span > < span class = "p" > )< / span >
< span class = "go" > True< / span >
< / pre > < / div >
< / div >
< p > Example that recursively flattens a dict:< / p >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / 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 = "s2" > " position" < / span > < span class = "p" > :< / span > < span class = "n" > Discrete< / span > < span class = "p" > (< / span > < span class = "mi" > 2< / span > < span class = "p" > ),< / span > < span class = "s2" > " velocity" < / span > < span class = "p" > :< / span > < span class = "n" > Box< / span > < span class = "p" > (< / span > < span class = "mi" > 0< / span > < span class = "p" > ,< / 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 = "gp" > > > > < / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > )< / span >
< span class = "go" > Box(6,)< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > space< / 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 = "ow" > in< / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > )< / span >
< span class = "go" > True< / span >
< / pre > < / div >
< / div >
< p > Example that flattens a graph:< / p >
< div class = "highlight-default notranslate" > < div class = "highlight" > < pre > < span > < / span > < span class = "gp" > > > > < / span > < span class = "n" > space< / span > < span class = "o" > =< / span > < span class = "n" > Graph< / span > < span class = "p" > (< / span > < span class = "n" > node_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" > 100< / span > < span class = "p" > ,< / span > < span class = "n" > high< / span > < span class = "o" > =< / span > < span class = "mi" > 100< / 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 = "mi" > 4< / span > < span class = "p" > )),< / span > < span class = "n" > edge_space< / span > < span class = "o" > =< / span > < span class = "n" > Discrete< / span > < span class = "p" > (< / span > < span class = "mi" > 5< / span > < span class = "p" > ))< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > )< / span >
< span class = "go" > Graph(Box(-100.0, 100.0, (12,), float32), Box(0, 1, (5,), int64))< / span >
< span class = "gp" > > > > < / span > < span class = "n" > flatten< / span > < span class = "p" > (< / span > < span class = "n" > space< / 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 = "ow" > in< / span > < span class = "n" > flatten_space< / span > < span class = "p" > (< / span > < span class = "n" > space< / span > < span class = "p" > )< / span >
< span class = "go" > True< / span >
< / pre > < / div >
< / div >
< dl class = "field-list simple" >
< dt class = "field-odd" > Parameters< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > space< / strong > – The space to flatten< / p >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > A flattened Box< / strong > < / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > NotImplementedError< / strong > – if the space is not defined in < code class = "docutils literal notranslate" > < span class = "pre" > gymnasium.spaces< / span > < / code > .< / p >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.spaces.utils.flatten" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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 class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > T< / span > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > T< / 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" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > ndarray< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Dict< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > GraphInstance< / span > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.spaces.utils.flatten" title = "Permalink to this definition" > #< / a > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > tuple< / 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 > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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" > x< / 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" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > dict< / 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 > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / 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" > GraphInstance< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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.Text" title = "gymnasium.spaces.text.Text" > < span class = "pre" > Text< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > str< / 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > flatten< / 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.Sequence" title = "gymnasium.spaces.sequence.Sequence" > < span class = "pre" > Sequence< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / 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 > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dd > < p > Flatten a data point from a space.< / p >
< p > This is useful when e.g. points from spaces must be passed to a neural
network, which only understands flat arrays of floats.< / 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 > – The space that < code class = "docutils literal notranslate" > < span class = "pre" > x< / span > < / code > is flattened by< / p > < / li >
< li > < p > < strong > x< / strong > – The value to flatten< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < ul class = "simple" >
< li > < p > < strong > - For ``Box`` and ``MultiBinary``, this is a flattened array< / strong > < / p > < / li >
< li > < p > < strong > - For ``Discrete`` and ``MultiDiscrete``, this is a flattened one-hot array of the sample< / strong > < / p > < / li >
< li > < p > < strong > - For ``Tuple`` and ``Dict``, this is a concatenated array the subspaces< / strong > (< em > does not support graph subspaces< / em > )< / p > < / li >
< li > < p > < strong > - For graph spaces, returns `GraphInstance` where< / strong > – < / p >
< ul >
< li > < p > < cite > nodes< / cite > are n x k arrays< / p > < / li >
< li > < dl class = "simple" >
< dt > < cite > edges< / cite > are either:< / dt > < dd > < ul >
< li > < p > m x k arrays< / p > < / li >
< li > < p > None< / p > < / li >
< / ul >
< / dd >
< / dl >
< / li >
< li > < dl class = "simple" >
< dt > < cite > edge_links< / cite > are either:< / dt > < dd > < ul >
< li > < p > m x 2 arrays< / p > < / li >
< li > < p > None< / p > < / li >
< / ul >
< / dd >
< / dl >
< / li >
< / ul >
< / li >
< / ul >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > NotImplementedError< / strong > – If the space is not defined in < code class = "docutils literal notranslate" > < span class = "pre" > gymnasium.spaces< / span > < / code > .< / p >
< / dd >
< / dl >
< / dd > < / dl >
< dl class = "py function" >
< dt class = "sig sig-object py" id = "gymnasium.spaces.utils.unflatten" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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 class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > T< / span > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > ndarray< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Dict< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > GraphInstance< / span > < span class = "p" > < span class = "pre" > ]< / span > < / 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" > T< / span > < / span > < / span > < a class = "headerlink" href = "#gymnasium.spaces.utils.unflatten" title = "Permalink to this definition" > #< / a > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.Box" title = "gymnasium.spaces.box.Box" > < span class = "pre" > Box< / span > < / a > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < a class = "reference internal" href = "../fundamental/#gymnasium.spaces.MultiBinary" title = "gymnasium.spaces.multi_binary.MultiBinary" > < span class = "pre" > MultiBinary< / span > < / a > < span class = "p" > < span class = "pre" > ]< / span > < / span > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < 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" > int< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < 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" > ndarray< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > ndarray< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > tuple< / span > < span class = "p" > < span class = "pre" > ]< / span > < / 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 > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > Union< / span > < span class = "p" > < span class = "pre" > [< / span > < / span > < span class = "pre" > ndarray< / span > < span class = "p" > < span class = "pre" > ,< / span > < / span > < span class = "w" > < / span > < span class = "pre" > Dict< / span > < span class = "p" > < span class = "pre" > ]< / span > < / 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 > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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.Graph" title = "gymnasium.spaces.graph.Graph" > < span class = "pre" > Graph< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > GraphInstance< / 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" > GraphInstance< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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.Text" title = "gymnasium.spaces.text.Text" > < span class = "pre" > Text< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < 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" > str< / span > < / span > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dt class = "sig sig-object py" >
2022-09-16 13:02:04 +00:00
< span class = "sig-prename descclassname" > < span class = "pre" > gymnasium.spaces.utils.< / span > < / span > < span class = "sig-name descname" > < span class = "pre" > unflatten< / 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.Sequence" title = "gymnasium.spaces.sequence.Sequence" > < span class = "pre" > Sequence< / span > < / a > < / span > < / em > , < em class = "sig-param" > < span class = "n" > < span class = "pre" > x< / span > < / span > < span class = "p" > < span class = "pre" > :< / span > < / span > < span class = "w" > < / span > < span class = "n" > < span class = "pre" > tuple< / 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 > < / span > < / dt >
2022-09-13 19:29:14 +00:00
< dd > < p > Unflatten a data point from a space.< / p >
< p > This reverses the transformation applied by < a class = "reference internal" href = "#gymnasium.spaces.utils.flatten" title = "gymnasium.spaces.utils.flatten" > < code class = "xref py py-func docutils literal notranslate" > < span class = "pre" > flatten()< / span > < / code > < / a > . You must ensure
that the < code class = "docutils literal notranslate" > < span class = "pre" > space< / span > < / code > argument is the same as for the < a class = "reference internal" href = "#gymnasium.spaces.utils.flatten" title = "gymnasium.spaces.utils.flatten" > < code class = "xref py py-func docutils literal notranslate" > < span class = "pre" > flatten()< / span > < / code > < / a > call.< / 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 > – The space used to unflatten < code class = "docutils literal notranslate" > < span class = "pre" > x< / span > < / code > < / p > < / li >
< li > < p > < strong > x< / strong > – The array to unflatten< / p > < / li >
< / ul >
< / dd >
< dt class = "field-even" > Returns< span class = "colon" > :< / span > < / dt >
< dd class = "field-even" > < p > < strong > A point with a structure that matches the space.< / strong > < / p >
< / dd >
< dt class = "field-odd" > Raises< span class = "colon" > :< / span > < / dt >
< dd class = "field-odd" > < p > < strong > NotImplementedError< / strong > – if the space is not defined in < code class = "docutils literal notranslate" > < span class = "pre" > gymnasium.spaces< / span > < / code > .< / p >
< / dd >
< / dl >
< / dd > < / dl >
< / section >
< / article >
< / div >
< footer >
< div class = "related-pages" >
2022-10-12 15:02:09 +00:00
< a class = "next-page" href = "../vector_utils/" >
2022-09-13 19:29:14 +00:00
< div class = "page-info" >
< div class = "context" >
< span > Next< / span >
< / div >
2022-10-12 15:02:09 +00:00
< div class = "title" > Spaces Vector Utils< / div >
2022-09-13 19:29:14 +00:00
< / div >
< svg class = "furo-related-icon" > < use href = "#svg-arrow-right" > < / use > < / svg >
< / a >
2022-10-03 15:02:45 +00:00
< a class = "prev-page" href = "../composite/" >
2022-09-13 19:29:14 +00:00
< svg class = "furo-related-icon" > < use href = "#svg-arrow-right" > < / use > < / svg >
< div class = "page-info" >
< div class = "context" >
< span > Previous< / span >
< / div >
2022-09-16 13:02:04 +00:00
< div class = "title" > Composite Spaces< / div >
2022-09-13 19:29:14 +00:00
< / div >
< / a >
< / div >
< div class = "bottom-of-page" >
< div class = "left-details" >
< div class = "copyright" >
Copyright © 2022, Farama Foundation
< / div >
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 >
< / div >
< div class = "right-details" >
< div class = "icons" >
2022-10-03 15:02:45 +00:00
< a class = "muted-link" href = "https://github.com/Farama-Foundation/Gymnasium" aria-label = "On GitHub" >
< svg stroke = "currentColor" fill = "currentColor" stroke-width = "0" viewBox = "0 0 16 16" >
< path fill-rule = "evenodd" d = "M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z" > < / path >
< / svg >
< / a >
2022-09-13 19:29:14 +00:00
< / div >
< / div >
< / div >
< / footer >
< / div >
2022-09-25 14:44:48 +00:00
< aside class = "toc-drawer" >
2022-09-13 19:29:14 +00:00
2022-09-25 14:44:48 +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 >
< li > < a class = "reference internal" href = "#" > Spaces Utils< / a > < ul >
< li > < a class = "reference internal" href = "#gymnasium.spaces.utils.flatdim" > < code class = "docutils literal notranslate" > < span class = "pre" > flatdim()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.spaces.utils.flatten_space" > < code class = "docutils literal notranslate" > < span class = "pre" > flatten_space()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.spaces.utils.flatten" > < code class = "docutils literal notranslate" > < span class = "pre" > flatten()< / span > < / code > < / a > < / li >
< li > < a class = "reference internal" href = "#gymnasium.spaces.utils.unflatten" > < code class = "docutils literal notranslate" > < span class = "pre" > unflatten()< / span > < / code > < / a > < / li >
< / ul >
< / li >
< / ul >
< / div >
< / div >
< / div >
2022-09-13 19:29:14 +00:00
< / aside >
< / div >
2022-10-03 15:02:45 +00:00
< / div >
< script >
let toggleMenu = () => {
document.querySelector(".farama-header-menu").classList.toggle("active");
document.querySelector(".farama-header-menu__overlay").classList.toggle("active");
}
document.querySelector(".farama-header-menu__btn").addEventListener("click", toggleMenu);
document.getElementById("farama-close-menu").addEventListener("click", toggleMenu);
document.querySelector(".farama-header-menu__overlay").addEventListener("click", toggleMenu);
window.onclick = function(event) {
if (!event.target.matches('.farama-header-menu__btn')) {
const dropdown = document.querySelector(".farama-header-menu__list");
if (dropdown.classList.contains('active')) {
dropdown.classList.remove('active');
document.querySelector(".farama-header-menu__overlay").classList.remove("active");
}
}
}
< / script >
< script data-url_root = "../../../" id = "documentation_options" src = "../../../_static/documentation_options.js" > < / script >
2022-09-16 13:02:04 +00:00
< script src = "../../../_static/jquery.js" > < / script >
< script src = "../../../_static/underscore.js" > < / script >
< script src = "../../../_static/_sphinx_javascript_frameworks_compat.js" > < / script >
< script src = "../../../_static/doctools.js" > < / script >
2022-09-25 14:44:48 +00:00
< script src = "../../../_static/sphinx_highlight.js" > < / script >
2022-09-16 13:02:04 +00:00
< script src = "../../../_static/scripts/furo.js" > < / script >
2022-10-03 15:02:45 +00:00
< / body >
2022-09-13 19:29:14 +00:00
< / html >