def init_ale(self, display=False): self.ale = ALEInterface() self.ale.setInt(b'random_seed', 123) # self.ale.setInt(b'delay_msec', 0) self.ale.setFloat(b'repeat_action_probability', 0.0) self.ale.setInt(b'frame_skip', self.hyperparams['frame_skip']) if display: self.ale.setBool(b'display_screen', True) self.ale.loadROM(str.encode(self.rom_fnm))
from ale_python_interface.ale_python_interface import ALEInterface import numpy as np # import pygame ale = ALEInterface() ale.setInt(b"random_seed", 123) ale.setBool(b'display_screen', True) ale.loadROM(str.encode('data/roms/breakout.bin')) random_seed = ale.getInt(b"random_seed") print("random_seed: " + str(random_seed)) legal_actions = ale.getMinimalActionSet() (screen_width, screen_height) = ale.getScreenDims() print("width/height: " + str(screen_width) + "/" + str(screen_height)) # init pygame # pygame.init() # print(ale.getScreenGrayscale().flatten().shape) # screen = pygame.display.set_mode((160, 210)) # pygame.display.set_caption("Arcade Learning Environment Random Agent Display") # pygame.display.flip() episode = 0 total_reward = 0.0 while (episode < 10): a = legal_actions[np.random.randint(legal_actions.size)] reward = ale.act(a)