30 lines
731 B
Python
30 lines
731 B
Python
from dqn import DeepQNetwork
|
|
from GEOEnv import GEOEnv
|
|
import matplotlib.pyplot as pyplot
|
|
|
|
class DRL:
|
|
def __init__(self, num_episodes):
|
|
self.env = GEOEnv()
|
|
|
|
self.agent = DeepQNetwork()
|
|
self.steps = 0
|
|
|
|
|
|
def interact(self, state):
|
|
action = self.agent.decide_action(state)
|
|
next_state, reward, done = self.env.step(action)
|
|
self.agent.update_replay_buffer(state, action, reward, next_state)
|
|
|
|
state = next_state
|
|
|
|
self.steps += 1
|
|
# update epsilon
|
|
|
|
return state, reward, done
|
|
|
|
def episodic_learn(self):
|
|
for episode in range(self.agent.max_episodes):
|
|
state = self.env.reset()
|
|
done = False
|
|
self.steps = 0
|