Repository navigation
Expand file tree
/
Copy pathtest_identical.py
More file actions
61 lines (48 loc) · 1.52 KB
/
Copy pathtest_identical.py
File metadata and controls
61 lines (48 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import sys, random, threading, time, gzip, traceback
import gym, gym_ple
import numpy as np
import os
from args import *
from utils import StopWatch, timeF
from Queue import Queue
arg_parser.add_argument('env')
arg_parser.add_argument('seed', type=int, default=1)
class FakeAgent(object):
def choose_action(*args, **kwargs):
return 0
class AgentProcess(object):
def __init__(self):
self.num_repeat = 6
self.env = gym.make(args.env)
self.agent = FakeAgent()
def act_episode(self):
self.env.seed(env.seed)
obs = self.env.reset()
frames = 0
return_ = 0
do_render = os.path.isfile('/tmp/gymrender')
while True:
action = 1
reward = 0
for _ in range(self.num_repeat):
obs, sub_reward, done, info = self.env.step(action)
if do_render:
self.env.render()
frames += 1
reward += sub_reward
if done:
break
return_ += reward
if done:
return (return_, frames)
def log_episode(*args):
sys.stdout.write(','.join(map(str, args))+'\n')
sys.stdout.flush()
if __name__ == '__main__':
parse_args()
os.putenv('SDL_VIDEODRIVER', 'fbcon')
os.environ['SDL_VIDEODRIVER'] = 'dummy'
agent_process = AgentProcess()
for episode_num in range(100):
return_, ep_frames = agent_process.act_episode()
log_episode(episode_num, return_, ep_frames)