Spooke/SelfDrivingCarRacing
0
1# 1. Import Dependencies2#!pip install gym[box2d] pyglet==1.3.23 4import gym 5from stable_baselines3 import PPO6from stable_baselines3.common.vec_env import VecFrameStack7from stable_baselines3.common.evaluation import evaluate_policy8import os9 10# 2. Test Environment11environment_name = "CarRacing-v0"12env = gym.make(environment_name)13 14episodes = 515for episode in range(1, episodes+1):16 state = env.reset()17 done = False18 score = 0 19 20 while not done:21 env.render()22 action = env.action_space.sample()23 n_state, reward, done, info = env.step(action)24 score+=reward25 print('Episode:{} Score:{}'.format(episode, score))26env.close()27 28env.close()29 30# 3. Train Model31log_path = os.path.join('Training', 'Logs')32model = PPO("CnnPolicy", env, verbose=1, tensorboard_log=log_path)33model.learn(total_timesteps=40000)34 35# 4. Save Model36ppo_path = os.path.join('Training', 'Saved Models', 'PPO_Driving_model')37model.save(ppo_path)38 39# 5. Evaluate and Test40evaluate_policy(model, env, n_eval_episodes=10, render=True)41env.close()42obs = env.reset()43while True:44 action, _states = model.predict(obs)45 obs, rewards, dones, info = env.step(action)46 env.render()47env.close()