class pyrlcade_environment(object): def init(self,rom_file,ale_frame_skip): self.ale = ALEInterface() self.max_frames_per_episode = self.ale.getInt("max_num_frames_per_episode"); self.ale.set("random_seed",123) self.ale.set("disable_color_averaging",1) self.ale.set("frame_skip",ale_frame_skip) self.ale.loadROM(rom_file) self.legal_actions = self.ale.getMinimalActionSet() ram_size = self.ale.getRAMSize() self.ram = np.zeros((ram_size),dtype=np.uint8) self.ale.getRAM(self.ram) self.state = self.ale.getRAM(self.ram) def reset_state(self): self.ale.reset_game() def set_action(self,a): self.action = a def step(self): self.reward = self.ale.act(self.action) is_terminal = self.ale.game_over() return is_terminal def get_state(self): self.ale.getRAM(self.ram) return self.ram def get_reward(self): return self.reward
class pyrlcade_environment(object): def init(self, rom_file, ale_frame_skip): self.ale = ALEInterface() self.max_frames_per_episode = self.ale.getInt( "max_num_frames_per_episode") self.ale.set("random_seed", 123) self.ale.set("disable_color_averaging", 1) self.ale.set("frame_skip", ale_frame_skip) self.ale.loadROM(rom_file) self.legal_actions = self.ale.getMinimalActionSet() ram_size = self.ale.getRAMSize() self.ram = np.zeros((ram_size), dtype=np.uint8) self.ale.getRAM(self.ram) self.state = self.ale.getRAM(self.ram) def reset_state(self): self.ale.reset_game() def set_action(self, a): self.action = a def step(self): self.reward = self.ale.act(self.action) is_terminal = self.ale.game_over() return is_terminal def get_state(self): self.ale.getRAM(self.ram) return self.ram def get_reward(self): return self.reward
# # This is a direct port to python of the shared library example from ALE provided in # doc/examples/sharedLibraryInterfaceExample.cpp import sys from ale_python_interface import ALEInterface import numpy as np if (len(sys.argv) < 2): print("Usage ./ale_python_test1.py <ROM_FILE_NAME>") sys.exit() ale = ALEInterface() max_frames_per_episode = ale.getInt("max_num_frames_per_episode") ale.set("random_seed", 123) random_seed = ale.getInt("random_seed") print("random_seed: " + str(random_seed)) ale.loadROM(sys.argv[1]) legal_actions = ale.getLegalActionSet() for episode in range(10): total_reward = 0.0 while not ale.game_over(): a = legal_actions[np.random.randint(legal_actions.size)] reward = ale.act(a) total_reward += reward print("Episode " + str(episode) + " ended with score: " + str(total_reward))
# # This is a direct port to python of the shared library example from ALE provided in # doc/examples/sharedLibraryInterfaceExample.cpp import sys from ale_python_interface import ALEInterface import numpy as np if(len(sys.argv) < 2): print("Usage ./ale_python_test1.py <ROM_FILE_NAME>") sys.exit() ale = ALEInterface() max_frames_per_episode = ale.getInt("max_num_frames_per_episode"); ale.set("random_seed",123) random_seed = ale.getInt("random_seed") print("random_seed: " + str(random_seed)) ale.loadROM(sys.argv[1]) legal_actions = ale.getLegalActionSet() for episode in range(10): total_reward = 0.0 while not ale.game_over(): a = legal_actions[np.random.randint(legal_actions.size)] reward = ale.act(a); total_reward += reward print("Episode " + str(episode) + " ended with score: " + str(total_reward)) ale.reset_game()