safety_gym/random_agent.py (27 lines of code) (raw):
#!/usr/bin/env python
import argparse
import gym
import safety_gym # noqa
import numpy as np # noqa
def run_random(env_name):
env = gym.make(env_name)
obs = env.reset()
done = False
ep_ret = 0
ep_cost = 0
while True:
if done:
print('Episode Return: %.3f \t Episode Cost: %.3f'%(ep_ret, ep_cost))
ep_ret, ep_cost = 0, 0
obs = env.reset()
assert env.observation_space.contains(obs)
act = env.action_space.sample()
assert env.action_space.contains(act)
obs, reward, done, info = env.step(act)
# print('reward', reward)
ep_ret += reward
ep_cost += info.get('cost', 0)
env.render()
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--env', default='Safexp-PointGoal1-v0')
args = parser.parse_args()
run_random(args.env)