更新PPO,增加PER DQN
This commit is contained in:
22
projects/codes/PER_DQN/config/CartPole-v1_PER_DQN_Test.yaml
Normal file
22
projects/codes/PER_DQN/config/CartPole-v1_PER_DQN_Test.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
general_cfg:
|
||||
algo_name: PER_DQN
|
||||
device: cpu
|
||||
env_name: CartPole-v1
|
||||
mode: test
|
||||
load_checkpoint: true
|
||||
load_path: Train_CartPole-v1_PER_DQN_20221113-162804
|
||||
max_steps: 200
|
||||
save_fig: true
|
||||
seed: 0
|
||||
show_fig: false
|
||||
test_eps: 10
|
||||
train_eps: 200
|
||||
algo_cfg:
|
||||
batch_size: 64
|
||||
buffer_size: 100000
|
||||
epsilon_decay: 500
|
||||
epsilon_end: 0.01
|
||||
epsilon_start: 0.95
|
||||
gamma: 0.95
|
||||
lr: 0.0001
|
||||
target_update: 4
|
||||
22
projects/codes/PER_DQN/config/CartPole-v1_PER_DQN_Train.yaml
Normal file
22
projects/codes/PER_DQN/config/CartPole-v1_PER_DQN_Train.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
general_cfg:
|
||||
algo_name: PER_DQN
|
||||
device: cuda
|
||||
env_name: CartPole-v1
|
||||
mode: train
|
||||
load_checkpoint: false
|
||||
load_path: Train_CartPole-v1_PER_DQN_20221026-054757
|
||||
max_steps: 200
|
||||
save_fig: true
|
||||
seed: 0
|
||||
show_fig: false
|
||||
test_eps: 10
|
||||
train_eps: 200
|
||||
algo_cfg:
|
||||
batch_size: 64
|
||||
buffer_size: 100000
|
||||
epsilon_decay: 500
|
||||
epsilon_end: 0.01
|
||||
epsilon_start: 0.95
|
||||
gamma: 0.95
|
||||
lr: 0.0001
|
||||
target_update: 4
|
||||
38
projects/codes/PER_DQN/config/config.py
Normal file
38
projects/codes/PER_DQN/config/config.py
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
'''
|
||||
Author: JiangJi
|
||||
Email: johnjim0816@gmail.com
|
||||
Date: 2022-10-30 00:37:33
|
||||
LastEditor: JiangJi
|
||||
LastEditTime: 2022-10-30 01:19:08
|
||||
Discription: default parameters of DQN
|
||||
'''
|
||||
from common.config import GeneralConfig,AlgoConfig
|
||||
class GeneralConfigDQN(GeneralConfig):
|
||||
def __init__(self) -> None:
|
||||
self.env_name = "CartPole-v1" # name of environment
|
||||
self.algo_name = "PER_DQN" # name of algorithm
|
||||
self.mode = "train" # train or test
|
||||
self.seed = 1 # random seed
|
||||
self.device = "cuda" # device to use
|
||||
self.train_eps = 200 # number of episodes for training
|
||||
self.test_eps = 10 # number of episodes for testing
|
||||
self.max_steps = 200 # max steps for each episode
|
||||
self.load_checkpoint = False
|
||||
self.load_path = "tasks" # path to load model
|
||||
self.show_fig = False # show figure or not
|
||||
self.save_fig = True # save figure or not
|
||||
|
||||
class AlgoConfigDQN(AlgoConfig):
|
||||
def __init__(self) -> None:
|
||||
# set epsilon_start=epsilon_end can obtain fixed epsilon=epsilon_end
|
||||
self.epsilon_start = 0.95 # epsilon start value
|
||||
self.epsilon_end = 0.01 # epsilon end value
|
||||
self.epsilon_decay = 500 # epsilon decay rate
|
||||
self.hidden_dim = 256 # hidden_dim for MLP
|
||||
self.gamma = 0.95 # discount factor
|
||||
self.lr = 0.0001 # learning rate
|
||||
self.buffer_size = 100000 # size of replay buffer
|
||||
self.batch_size = 64 # batch size
|
||||
self.target_update = 4 # target network update frequency
|
||||
Reference in New Issue
Block a user