|
from easydict import EasyDict |
|
|
|
collector_env_num = 8 |
|
evaluator_env_num = 8 |
|
nstep = 5 |
|
cartpole_ngu_config = dict( |
|
exp_name='cartpole_ngu_seed0', |
|
env=dict( |
|
collector_env_num=collector_env_num, |
|
evaluator_env_num=evaluator_env_num, |
|
n_evaluator_episode=evaluator_env_num, |
|
obs_plus_prev_action_reward=True, |
|
stop_value=195, |
|
), |
|
rnd_reward_model=dict( |
|
intrinsic_reward_type='add', |
|
learning_rate=5e-4, |
|
obs_shape=4, |
|
action_shape=2, |
|
batch_size=128, |
|
update_per_collect=10, |
|
only_use_last_five_frames_for_icm_rnd=False, |
|
clear_buffer_per_iters=10, |
|
nstep=nstep, |
|
hidden_size_list=[128, 128, 64], |
|
type='rnd-ngu', |
|
), |
|
episodic_reward_model=dict( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
last_nonzero_reward_rescale=False, |
|
|
|
|
|
last_nonzero_reward_weight=1, |
|
intrinsic_reward_type='add', |
|
learning_rate=5e-4, |
|
obs_shape=4, |
|
action_shape=2, |
|
batch_size=128, |
|
update_per_collect=10, |
|
only_use_last_five_frames_for_icm_rnd=False, |
|
clear_buffer_per_iters=10, |
|
nstep=nstep, |
|
hidden_size_list=[128, 128, 64], |
|
type='episodic', |
|
), |
|
policy=dict( |
|
cuda=True, |
|
priority=True, |
|
priority_IS_weight=True, |
|
discount_factor=0.997, |
|
nstep=nstep, |
|
burnin_step=2, |
|
|
|
|
|
|
|
learn_unroll_len=40, |
|
model=dict( |
|
obs_shape=4, |
|
action_shape=2, |
|
encoder_hidden_size_list=[128, 128, 64], |
|
collector_env_num=collector_env_num, |
|
), |
|
learn=dict( |
|
update_per_collect=8, |
|
batch_size=32, |
|
learning_rate=1e-4, |
|
target_update_theta=0.001, |
|
), |
|
collect=dict( |
|
|
|
|
|
|
|
|
|
|
|
|
|
n_sample=32, |
|
traj_len_inf=True, |
|
env_num=collector_env_num, |
|
), |
|
eval=dict(env_num=evaluator_env_num, ), |
|
other=dict( |
|
eps=dict( |
|
type='exp', |
|
start=0.95, |
|
end=0.05, |
|
decay=1e4, |
|
), |
|
replay_buffer=dict( |
|
replay_buffer_size=int(1e4), |
|
|
|
alpha=0.6, |
|
|
|
beta=0.4, |
|
) |
|
), |
|
), |
|
) |
|
cartpole_ngu_config = EasyDict(cartpole_ngu_config) |
|
main_config = cartpole_ngu_config |
|
cartpole_ngu_create_config = dict( |
|
env=dict( |
|
type='cartpole', |
|
import_names=['dizoo.classic_control.cartpole.envs.cartpole_env'], |
|
), |
|
env_manager=dict(type='base'), |
|
policy=dict(type='ngu'), |
|
rnd_reward_model=dict(type='rnd-ngu'), |
|
episodic_reward_model=dict(type='episodic'), |
|
) |
|
cartpole_ngu_create_config = EasyDict(cartpole_ngu_create_config) |
|
create_config = cartpole_ngu_create_config |
|
|
|
if __name__ == "__main__": |
|
|
|
from ding.entry import serial_pipeline_ngu |
|
serial_pipeline_ngu([main_config, create_config], seed=0) |
|
|