Example #1
0
    def _render_stacked_frames(self):
        if self._image_obs:
            # stack past frames along first dimension
            img = numpy_all_the_way(self._frames)

            if self.channel_config == 'CHW':
                return img
            elif self.channel_config == 'HWC':
                return np.transpose(img, axes=[1, 2, 0])
            else:
                raise Exception(f'Unknown channel config {self.channel_config}')
        else:
            return np.array(self._frames).flatten()
Example #2
0
    def _maybe_trajectory_summaries(self, trajectory_buffer, env_steps):
        time_since_last = time.time() - self._last_trajectory_summary
        if time_since_last < self.params.gif_save_rate or not trajectory_buffer.complete_trajectories:
            return

        start_gif_summaries = time.time()

        self._last_trajectory_summary = time.time()
        num_envs = self.params.gif_summary_num_envs

        trajectories = [
            numpy_all_the_way(t.obs)[:, :, :, -3:]
            for t in trajectory_buffer.complete_trajectories[:num_envs]
        ]
        self._write_gif_summaries(tag='obs_trajectories',
                                  gif_images=trajectories,
                                  step=env_steps)
        log.info('Took %.3f seconds to write gif summaries',
                 time.time() - start_gif_summaries)
Example #3
0
 def _render_stacked_frames(self):
     if self._image_obs:
         return np.transpose(numpy_all_the_way(self._frames),
                             axes=[1, 2, 0])
     else:
         return np.array(self._frames).flatten()
 def test_numpy_all_the_way(self):
     a = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
     lst = [np.array([0, 1, 2]), np.array([3, 4, 5]), np.array([6, 7, 8])]
     numpy_arr = numpy_all_the_way(lst)
     self.assertTrue(np.array_equal(a, numpy_arr))