Skip to content

Commit 37c8c3b

Browse files
Cleaner code to imagine and render imaginary rollouts from custom states by splitting RLToyEnv.render() into 2 functions; improved naming of the image representation function to get_image_representation in ImageMultiDiscrete and ImageContinuous; made get_image_representation for the cont. 2-D toy env in ImageContinuous be applicable to an array of observations and render an epistemic uncertainty around the observation.
1 parent 3c265f5 commit 37c8c3b

18 files changed

+200
-129
lines changed

docs/_autosummary/mdp_playground.spaces.image_continuous.ImageContinuous.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ mdp\_playground.spaces.image\_continuous.ImageContinuous
2121
~ImageContinuous.convert_to_pixel
2222
~ImageContinuous.from_jsonable
2323
~ImageContinuous.generate_image
24-
~ImageContinuous.get_concatenated_image
24+
~ImageContinuous.get_image_representation
2525
~ImageContinuous.is_bounded
2626
~ImageContinuous.sample
2727
~ImageContinuous.seed

docs/_autosummary/mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ mdp\_playground.spaces.image\_multi\_discrete.ImageMultiDiscrete
2020
~ImageMultiDiscrete.contains
2121
~ImageMultiDiscrete.from_jsonable
2222
~ImageMultiDiscrete.generate_image
23-
~ImageMultiDiscrete.get_concatenated_image
23+
~ImageMultiDiscrete.get_image_representation
2424
~ImageMultiDiscrete.is_bounded
2525
~ImageMultiDiscrete.sample
2626
~ImageMultiDiscrete.seed

docs/_build/html/_autosummary/mdp_playground.spaces.image_continuous.ImageContinuous.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,8 +465,8 @@ <h1>mdp_playground.spaces.image_continuous.ImageContinuous<a class="headerlink"
465465
<p>A space that maps a continuous 1- or 2-D space 1-to-1 to images so that the
466466
images may be used as representations for corresponding continuous environments.</p>
467467
<dl class="py method">
468-
<dt id="mdp_playground.spaces.image_continuous.ImageContinuous.get_concatenated_image">
469-
<code class="sig-name descname"><span class="pre">get_concatenated_image</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">continuous_obs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_continuous.html#ImageContinuous.get_concatenated_image"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mdp_playground.spaces.image_continuous.ImageContinuous.get_concatenated_image" title="Permalink to this definition"></a></dt>
468+
<dt id="mdp_playground.spaces.image_continuous.ImageContinuous.get_image_representation">
469+
<code class="sig-name descname"><span class="pre">get_image_representation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">continuous_obs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_continuous.html#ImageContinuous.get_image_representation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mdp_playground.spaces.image_continuous.ImageContinuous.get_image_representation" title="Permalink to this definition"></a></dt>
470470
<dd><p>Gets an image representation for a given feature space observation</p>
471471
</dd></dl>
472472

@@ -538,7 +538,7 @@ <h1>mdp_playground.spaces.image_continuous.ImageContinuous<a class="headerlink"
538538
</dl>
539539
</p></td>
540540
</tr>
541-
<tr class="row-even"><td><p><a class="reference internal" href="#id0" title="mdp_playground.spaces.image_continuous.ImageContinuous.get_concatenated_image"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_concatenated_image</span></code></a>(obs)</p></td>
541+
<tr class="row-even"><td><p><a class="reference internal" href="#id0" title="mdp_playground.spaces.image_continuous.ImageContinuous.get_image_representation"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_image_representation</span></code></a>(obs)</p></td>
542542
<td><p>Gets the “stitched together” image made from images corresponding to each continuous sub-space within the continuous space, concatenated along the X-axis.</p></td>
543543
</tr>
544544
<tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_bounded</span></code>([manner])</p></td>
@@ -585,7 +585,7 @@ <h1>mdp_playground.spaces.image_continuous.ImageContinuous<a class="headerlink"
585585

586586
<dl class="py method">
587587
<dt id="id0">
588-
<code class="sig-name descname"><span class="pre">get_concatenated_image</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_continuous.html#ImageContinuous.get_concatenated_image"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#id0" title="Permalink to this definition"></a></dt>
588+
<code class="sig-name descname"><span class="pre">get_image_representation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_continuous.html#ImageContinuous.get_image_representation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#id0" title="Permalink to this definition"></a></dt>
589589
<dd><p>Gets the “stitched together” image made from images corresponding to
590590
each continuous sub-space within the continuous space, concatenated
591591
along the X-axis.</p>

docs/_build/html/_autosummary/mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,8 +464,8 @@ <h1>mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete<a class="heade
464464
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">gym.spaces.box.Box</span></code></p>
465465
<p>A space that maps a (multi-)discrete space 1-to-1 to images so that the images may be used as representations for corresponding (multi-)discrete states. A MultiDiscrete space will have multiple dimensions. For each of these dimensions, there is a size that represents the number of categorical states that correspond to that dimension. For size = n, each of these categorical states is numbered from 0 to n-1. For each categorical state numbered n, we associate a polygon with n + 3 sides. This polygon is present in the image associated with this dimension. The images generated for all the dimensions are concatenated together by placing them side by side in the order of the dimensions in Space. Any of the transforms - rotate, flip, scale, shift - can be associated with an object of this class, to apply at random to polygons in the images whenever they are generated.</p>
466466
<dl class="py method">
467-
<dt id="mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_concatenated_image">
468-
<code class="sig-name descname"><span class="pre">get_concatenated_image</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">multi_discrete_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_multi_discrete.html#ImageMultiDiscrete.get_concatenated_image"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_concatenated_image" title="Permalink to this definition"></a></dt>
467+
<dt id="mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_image_representation">
468+
<code class="sig-name descname"><span class="pre">get_image_representation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">multi_discrete_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_multi_discrete.html#ImageMultiDiscrete.get_image_representation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_image_representation" title="Permalink to this definition"></a></dt>
469469
<dd><p>Gets an image representation for a given multi_discrete_state</p>
470470
</dd></dl>
471471

@@ -532,7 +532,7 @@ <h1>mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete<a class="heade
532532
<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">generate_image</span></code>(discrete_state)</p></td>
533533
<td><p></p></td>
534534
</tr>
535-
<tr class="row-odd"><td><p><a class="reference internal" href="#id0" title="mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_concatenated_image"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_concatenated_image</span></code></a>(multi_discrete_state)</p></td>
535+
<tr class="row-odd"><td><p><a class="reference internal" href="#id0" title="mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete.get_image_representation"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_image_representation</span></code></a>(multi_discrete_state)</p></td>
536536
<td><p>Gets the “stitched together” image made from images corresponding to each discrete sub-space within the multidiscrete space, concatenated along the X-axis</p></td>
537537
</tr>
538538
<tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">is_bounded</span></code>([manner])</p></td>
@@ -564,7 +564,7 @@ <h1>mdp_playground.spaces.image_multi_discrete.ImageMultiDiscrete<a class="heade
564564

565565
<dl class="py method">
566566
<dt id="id0">
567-
<code class="sig-name descname"><span class="pre">get_concatenated_image</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">multi_discrete_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_multi_discrete.html#ImageMultiDiscrete.get_concatenated_image"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#id0" title="Permalink to this definition"></a></dt>
567+
<code class="sig-name descname"><span class="pre">get_image_representation</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">multi_discrete_state</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/mdp_playground/spaces/image_multi_discrete.html#ImageMultiDiscrete.get_image_representation"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#id0" title="Permalink to this definition"></a></dt>
568568
<dd><p>Gets the “stitched together” image made from images corresponding to each discrete sub-space within the multidiscrete space, concatenated along the X-axis</p>
569569
</dd></dl>
570570

docs/_build/html/_modules/mdp_playground/envs/rl_toy_env.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1823,7 +1823,7 @@ <h1>Source code for mdp_playground.envs.rl_toy_env</h1><div class="highlight"><p
18231823
<span class="n">next_obs</span> <span class="o">=</span> <span class="n">next_state</span>
18241824

18251825
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_representations</span><span class="p">:</span>
1826-
<span class="n">next_obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">observation_space</span><span class="o">.</span><span class="n">get_concatenated_image</span><span class="p">(</span><span class="n">next_state</span><span class="p">)</span>
1826+
<span class="n">next_obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">observation_space</span><span class="o">.</span><span class="n">get_image_representation</span><span class="p">(</span><span class="n">next_state</span><span class="p">)</span>
18271827

18281828
<span class="bp">self</span><span class="o">.</span><span class="n">curr_state</span> <span class="o">=</span> <span class="n">next_state</span>
18291829
<span class="bp">self</span><span class="o">.</span><span class="n">curr_obs</span> <span class="o">=</span> <span class="n">next_obs</span>
@@ -1935,7 +1935,7 @@ <h1>Source code for mdp_playground.envs.rl_toy_env</h1><div class="highlight"><p
19351935

19361936

19371937
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">image_representations</span><span class="p">:</span>
1938-
<span class="bp">self</span><span class="o">.</span><span class="n">curr_obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">observation_space</span><span class="o">.</span><span class="n">get_concatenated_image</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">curr_state</span><span class="p">)</span>
1938+
<span class="bp">self</span><span class="o">.</span><span class="n">curr_obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">observation_space</span><span class="o">.</span><span class="n">get_image_representation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">curr_state</span><span class="p">)</span>
19391939
<span class="k">else</span><span class="p">:</span>
19401940
<span class="bp">self</span><span class="o">.</span><span class="n">curr_obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">curr_state</span>
19411941

docs/_build/html/_modules/mdp_playground/spaces/image_continuous.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ <h1>Source code for mdp_playground.spaces.image_continuous</h1><div class="highl
453453

454454
<span class="sd"> Methods</span>
455455
<span class="sd"> -------</span>
456-
<span class="sd"> get_concatenated_image(continuous_obs)</span>
456+
<span class="sd"> get_image_representation(continuous_obs)</span>
457457
<span class="sd"> Gets an image representation for a given feature space observation</span>
458458
<span class="sd"> &#39;&#39;&#39;</span>
459459

@@ -556,7 +556,7 @@ <h1>Source code for mdp_playground.spaces.image_continuous</h1><div class="highl
556556
<span class="n">offset</span> <span class="o">=</span> <span class="mi">0</span> <span class="k">if</span> <span class="n">relevant</span> <span class="k">else</span> <span class="mi">2</span>
557557
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_shape</span><span class="p">[</span><span class="mi">0</span> <span class="o">+</span> <span class="n">offset</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span> <span class="c1"># +1 because this is along</span>
558558
<span class="c1"># concatentation dimension when stitching together images below in</span>
559-
<span class="c1"># get_concatenated_image</span>
559+
<span class="c1"># get_image_representation</span>
560560
<span class="n">x_</span> <span class="o">=</span> <span class="n">i</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">width</span> <span class="o">//</span> <span class="bp">self</span><span class="o">.</span><span class="n">grid_shape</span><span class="p">[</span><span class="mi">0</span> <span class="o">+</span> <span class="n">offset</span><span class="p">]</span> <span class="o">-</span> <span class="mi">1</span> <span class="c1"># -1 to not go outside</span>
561561
<span class="c1"># image size for the last line drawn</span>
562562
<span class="n">y_</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">height</span>
@@ -612,7 +612,7 @@ <h1>Source code for mdp_playground.spaces.image_continuous</h1><div class="highl
612612

613613
<span class="k">return</span> <span class="n">ret_arr</span></div>
614614

615-
<div class="viewcode-block" id="ImageContinuous.get_concatenated_image"><a class="viewcode-back" href="../../../_autosummary/mdp_playground.spaces.image_continuous.ImageContinuous.html#mdp_playground.spaces.image_continuous.ImageContinuous.get_concatenated_image">[docs]</a> <span class="k">def</span> <span class="nf">get_concatenated_image</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obs</span><span class="p">):</span>
615+
<div class="viewcode-block" id="ImageContinuous.get_image_representation"><a class="viewcode-back" href="../../../_autosummary/mdp_playground.spaces.image_continuous.ImageContinuous.html#mdp_playground.spaces.image_continuous.ImageContinuous.get_image_representation">[docs]</a> <span class="k">def</span> <span class="nf">get_image_representation</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obs</span><span class="p">):</span>
616616
<span class="sd">&#39;&#39;&#39;Gets the &quot;stitched together&quot; image made from images corresponding to</span>
617617
<span class="sd"> each continuous sub-space within the continuous space, concatenated</span>
618618
<span class="sd"> along the X-axis.</span>
@@ -645,7 +645,7 @@ <h1>Source code for mdp_playground.spaces.image_continuous</h1><div class="highl
645645
<div class="viewcode-block" id="ImageContinuous.sample"><a class="viewcode-back" href="../../../_autosummary/mdp_playground.spaces.image_continuous.ImageContinuous.html#mdp_playground.spaces.image_continuous.ImageContinuous.sample">[docs]</a> <span class="k">def</span> <span class="nf">sample</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
646646

647647
<span class="n">sampled</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">feature_space</span><span class="o">.</span><span class="n">sample</span><span class="p">()</span>
648-
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_concatenated_image</span><span class="p">(</span><span class="n">sampled</span><span class="p">)</span></div>
648+
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_image_representation</span><span class="p">(</span><span class="n">sampled</span><span class="p">)</span></div>
649649

650650
<span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
651651
<span class="k">return</span> <span class="s2">&quot;</span><span class="si">{}</span><span class="s2"> with continuous underlying space of shape: </span><span class="si">{}</span><span class="s2"> and &quot;</span>\

0 commit comments

Comments
 (0)