-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.py
More file actions
78 lines (61 loc) · 1.6 KB
/
test.py
File metadata and controls
78 lines (61 loc) · 1.6 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from floorplan_v0 import *
def test_env():
env = FloorPlanEnv("./data")
env.reset()
env.render()
# prev_screen = env.render(mode='rgb_array')
# fg = figure()
# ax = fg.gca()
# visualizer = ax.imshow(prev_screen)
for i in range(1000):
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
# if i%5 == 0:
# screen = env.render(mode='rgb_array')
# visualizer.set_data(screen)
# draw(), pause(1e-3)
# Other option, just use: env.render() # mode=human by default
env.render()
if done:
break
env.close()
def testing():
config = {
"data_dir": "./data",
"window_size": 1024
}
env = FloorPlanEnv(config)
env.reset()
env.render()
for i in range(1000):
action = env.action_space.sample()
obs, reward, done, info = env.step(action)
env.render()
if done:
break
env.close()
def main():
testing()
if __name__ == '__main__':
main()
"""
# Using stable_baselines from openai
from stable_baselines.common.policies import MlpPolicy
from stable_baselines import PPO2
env = CustomEnv('/data')
# Training
model = PPO2(MlpPolicy, env, verbose=1)
model.learn(total_timesteps=20000)
# Testing
n_steps = 2000 # maximum number of steps per episode
episode_return = 0
obs = env.reset()
for i in range(n_steps):
action, _states = model.predict(obs)
obs, rewards, done, info = env.step(action)
if done:
break
env.render()
episode_return += rewards
print("Episode return:", episode_return)
"""