Skip to content

ding.entry.predefined_config

ding.entry.predefined_config

Full Source Code

../ding/entry/predefined_config.py

1from typing import Tuple 2from easydict import EasyDict 3import sys 4import importlib 5 6env_dict = { 7 'cartpole': 'dizoo.classic_control.cartpole.config', 8 'pendulum': 'dizoo.classic_control.pendulum.config', 9} 10policy_dict = { 11 'dqn': 'ding.policy.dqn', 12 'rainbow': 'ding.policy.rainbow', 13 'c51': 'ding.policy.c51', 14 'qrdqn': 'ding.policy.qrdqn', 15 'iqn': 'ding.policy.iqn', 16 'a2c': 'ding.policy.a2c', 17 'impala': 'ding.policy.impala', 18 'ppo': 'ding.policy.ppo', 19 'sqn': 'ding.policy.sqn', 20 'r2d2': 'ding.policy.r2d2', 21 'ddpg': 'ding.policy.ddpg', 22 'td3': 'ding.policy.td3', 23 'sac': 'ding.policy.sac', 24} 25 26 27def get_predefined_config(env: str, policy: str) -> Tuple[EasyDict, EasyDict]: 28 config_name = '{}_{}_config'.format(env, policy) 29 create_config_name = '{}_{}_create_config'.format(env, policy) 30 try: 31 m = importlib.import_module(env_dict[env] + '.' + config_name) 32 return [getattr(m, config_name), getattr(m, create_config_name)] 33 except ImportError: 34 print("Please get started by other types, there is no related pre-defined config({})".format(config_name)) 35 sys.exit(1)