def render(self, mode='human'):
     imgs = self.get_images()
     bigimg = tile_images(imgs)
     if mode == 'human':
         self.get_viewer().imshow(bigimg)
         return self.get_viewer().isopen
     elif mode == 'rgb_array':
         return bigimg
     else:
         raise NotImplementedError
 def render(self, mode='human'):
     for pipe in self.remotes:
         pipe.send(('render', None))
     imgs = [pipe.recv() for pipe in self.remotes]
     bigimg = tile_images(imgs)
     if mode == 'human':
         import cv2
         cv2.imshow('vecenv', bigimg[:, :, ::-1])
         cv2.waitKey(1)
     elif mode == 'rgb_array':
         return bigimg
     else:
         raise NotImplementedError
Пример #3
0
 def render(self, mode='human', *args, **kwargs):
     for pipe in self.remotes:
         # gather images from subprocesses
         # `mode` will be taken into account later
         pipe.send(('render', (args, {'mode': 'rgb_array', **kwargs})))
     imgs = [pipe.recv() for pipe in self.remotes]
     # Create a big image by tiling images from subprocesses
     bigimg = tile_images(imgs)
     if mode == 'human':
         import cv2
         cv2.imshow('vecenv', bigimg[:, :, ::-1])
         cv2.waitKey(1)
     elif mode == 'rgb_array':
         return bigimg
     else:
         raise NotImplementedError
Пример #4
0
    def render(self, mode: str = 'human'):
        """
        Gym environment rendering

        :param mode: the rendering type
        """
        try:
            imgs = self.get_images()
        except NotImplementedError:
            logger.warn('Render not defined for {}'.format(self))
            return

        # Create a big image by tiling images from subprocesses
        bigimg = tile_images(imgs)
        if mode == 'human':
            import cv2  # pytype:disable=import-error
            cv2.imshow('vecenv', bigimg[:, :, ::-1])
            cv2.waitKey(1)
        elif mode == 'rgb_array':
            return bigimg
        else:
            raise NotImplementedError