we suggest you to use the following parameters to do training
if you think original parameters (described in SPEC) is not good for you
# ============================ Hyper Parameters ============================ #
EPISODE = 500 # training episode
BATCH_SIZE = 128 # batch size
GAMMA = 0.99 # reward discount
TARGET_UPDATE_ITER = 100 # target update frequency
MEMORY_CAPACITY = 2000 # replay buffer size
INIT_REPLAY_SIZE = 1000 # init replay buffer size
RECORD_VIDEO_EVERY = 100
MONITOR_PATH = './vedio' # video path
RECORD_VIDEO_FLAG = False # record video or not
# ============================ Hyper Parameters ============================ #
self.epsilon = 1.0
self.epsilon_min = 0.001
self.epsilon_decay = 0.999
self.learning_rate = 0.001
And We suggest you change the game CartPole-v0 to CartPole-v1 ,
then see the performance between DQN and Double DQN
Additionally, you can modify your network's architecture and describe it in report.
for example:
def __init__(self, ):
super(Net, self).__init__()
self.fc1 = nn.Linear(N_STATES, 32)
self.fc2 = nn.Linear(32, 32)
self.out = nn.Linear(32, N_ACTIONS)
we suggest you to use the following parameters to do training
if you think original parameters (described in SPEC) is not good for you
And We suggest you change the game
CartPole-v0toCartPole-v1,then see the performance between DQN and Double DQN
Additionally, you can modify your network's architecture and describe it in report.
for example: