def __init__(self, env, **hyperparameters):
    '\n\t\t\tInitializes the PPO model, including hyperparameters.\n\n\t\t\tParameters:\n\t\t\t\tpolicy_class - the policy class to use for our actor/critic networks.\n\t\t\t\tenv - the environment to train on.\n\t\t\t\thyperparameters - all extra arguments passed into PPO that should be hyperparameters.\n\n\t\t\tReturns:\n\t\t\t\tNone\n\t\t'
    assert (type(env.observation_space) == gym.spaces.Box)
    self._init_hyperparameters(hyperparameters)
    self.env = env
    self.obs_dim = env.observation_space.shape[0]
    if self.discrete:
        self.act_dim = env.action_space.n
    else:
        self.act_dim = env.action_space.shape[0]
    self.actor = FeedForwardActorNN(self.obs_dim, self.act_dim, self.discrete)
    actor_model = 'ppo_actorKinematicBicycleGymLane.pth'
    policy = FeedForwardActorNN(5, 2, False)
    policy.load_state_dict(torch.load(actor_model))
    actor_model = policy
    self.critic = FeedForwardCriticNN(self.obs_dim, 1)
    self.actor_optim = Adam(self.actor.parameters(), lr=self.lr)
    self.critic_optim = Adam(self.critic.parameters(), lr=self.lr)
    self.cov_var = torch.full(size=(self.act_dim,), fill_value=0.05)
    self.cov_mat = torch.diag(self.cov_var)
    self.obs_count = 0
    self.index_count = 0
    self.logger = {'t_so_far': 0, 'i_so_far': 0, 'batch_lens': [], 'batch_rews': [], 'batch_infractions': [], 'actor_losses': [], 'actor_network': 0}
Initializes the PPO model, including hyperparameters.

Parameters:
        policy_class - the policy class to use for our actor/critic networks.
        env - the environment to train on.
        hyperparameters - all extra arguments passed into PPO that should be hyperparameters.

Returns:
        None
def __init__(self, env, **hyperparameters):
    '\n\t\t\tInitializes the PPO model, including hyperparameters.\n\n\t\t\tParameters:\n\t\t\t\tpolicy_class - the policy class to use for our actor/critic networks.\n\t\t\t\tenv - the environment to train on.\n\t\t\t\thyperparameters - all extra arguments passed into PPO that should be hyperparameters.\n\n\t\t\tReturns:\n\t\t\t\tNone\n\t\t'
    assert (type(env.observation_space) == gym.spaces.Box)
    self._init_hyperparameters(hyperparameters)
    self.env = env
    self.obs_dim = env.observation_space.shape[0]
    if self.discrete:
        self.act_dim = env.action_space.n
    else:
        self.act_dim = env.action_space.shape[0]
    self.actor = FeedForwardActorNN(self.obs_dim, self.act_dim, self.discrete)
    actor_model = 'ppo_actorKinematicBicycleGymLane.pth'
    policy = FeedForwardActorNN(5, 2, False)
    policy.load_state_dict(torch.load(actor_model))
    actor_model = policy
    self.critic = FeedForwardCriticNN(self.obs_dim, 1)
    self.actor_optim = Adam(self.actor.parameters(), lr=self.lr)
    self.critic_optim = Adam(self.critic.parameters(), lr=self.lr)
    self.cov_var = torch.full(size=(self.act_dim,), fill_value=0.05)
    self.cov_mat = torch.diag(self.cov_var)
    self.obs_count = 0
    self.index_count = 0
    self.logger = {'t_so_far': 0, 'i_so_far': 0, 'batch_lens': [], 'batch_rews': [], 'batch_infractions': [], 'actor_losses': [], 'actor_network': 0}