Spaces:
Sleeping
Sleeping
from easydict import EasyDict | |
cartpole_bco_config = dict( | |
exp_name='cartpole_bco_seed0', | |
env=dict( | |
collector_env_num=8, | |
evaluator_env_num=5, | |
n_evaluator_episode=5, | |
stop_value=195, | |
replay_path=None, | |
), | |
policy=dict( | |
cuda=True, | |
continuous=False, | |
loss_type='l1_loss', | |
model=dict( | |
obs_shape=4, | |
action_shape=2, | |
encoder_hidden_size_list=[128, 128, 64], | |
dueling=True, | |
), | |
learn=dict( | |
train_epoch=20, | |
batch_size=128, | |
learning_rate=0.001, | |
weight_decay=1e-4, | |
momentum=0.9, | |
decay_epoch=30, | |
decay_rate=1, | |
warmup_lr=1e-4, | |
warmup_epoch=3, | |
optimizer='SGD', | |
lr_decay=True, | |
), | |
collect=dict( | |
n_episode=10, | |
# control the number (alpha*n_episode) of post-demonstration environment interactions at each iteration. | |
# Notice: alpha * n_episode > collector_env_num | |
model_path='abs model path', # epxert model path | |
data_path='abs data path', # expert data path | |
), | |
eval=dict(evaluator=dict(eval_freq=40, )), | |
other=dict(eps=dict( | |
type='exp', | |
start=0.95, | |
end=0.1, | |
decay=10000, | |
), ) | |
), | |
bco=dict( | |
learn=dict(idm_batch_size=32, idm_learning_rate=0.001, idm_weight_decay=1e-4, idm_train_epoch=10), | |
model=dict(idm_encoder_hidden_size_list=[60, 80, 100, 40], action_space='discrete'), | |
alpha=0.8, | |
) | |
) | |
cartpole_bco_config = EasyDict(cartpole_bco_config) | |
main_config = cartpole_bco_config | |
cartpole_bco_create_config = dict( | |
env=dict( | |
type='cartpole', | |
import_names=['dizoo.classic_control.cartpole.envs.cartpole_env'], | |
), | |
env_manager=dict(type='subprocess'), | |
policy=dict(type='bc'), | |
collector=dict(type='episode') | |
) | |
cartpole_bco_create_config = EasyDict(cartpole_bco_create_config) | |
create_config = cartpole_bco_create_config | |
if __name__ == "__main__": | |
from ding.entry import serial_pipeline_bco | |
from dizoo.classic_control.cartpole.config import cartpole_dqn_config, cartpole_dqn_create_config | |
expert_main_config = cartpole_dqn_config | |
expert_create_config = cartpole_dqn_create_config | |
serial_pipeline_bco( | |
[main_config, create_config], [cartpole_dqn_config, cartpole_dqn_create_config], seed=0, max_env_step=100000 | |
) | |