Rllib学习 - [4] - AlgorithmConfig详细介绍 [Pytorch版]

本文详细解析了深度强化学习算法的配置,涵盖模型结构、优化参数、环境设置、探索策略以及replay buffer配置。讲解了如何定义资源、环境运行的CPU和GPU数目,以及框架选择、环境注册、观测和动作空间。同时介绍了模型配置中的CNN+MLP结构,包括隐藏层、激活函数、预处理选项。探索配置中讨论了StochasticSampling策略,以及评估和训练的相关设定。

Algorithm config 包含了各个方面的 参数,对应不同模块的生成。
“env_config”, # 环境生成时对应的参数,与自己定义的env有关,本文不做介绍
“model”, # 定义与model结构生成过程中用到的参数,详细介绍
“optimizer”, # 定义 优化的参数,简单介绍
“multiagent”, # 与多智能体有关,本文不做介绍
“custom_resources_per_worker”, # 定义 资源, 简单介绍
“evaluation_config”, # 评价相关的参数,简单介绍
“exploration_config”, # 探索有关的参数,详细介绍
“replay_buffer_config”, # replay buffer设置相关的参数,详细介绍
“extra_python_environs_for_worker”, #
“input_config”,
“output_config”,

resources

定义环境运行的资源

        self.num_gpus = 0 # GPU数目  可以为小数
        self.num_cpus_per_worker = 1   # 每个worker 的CPU数目
        self.num_gpus_per_worker = 0   # 每个worker 的GPU数目
        self._fake_gpus = False    
        self.num_cpus_for_local_worker = 1  # Local worker占用的CPU数目
        self.custom_resources_per_worker = {
   
   } 
        self.placement_strategy = "PACK"

framework

self.framework_str = "tf" # tf , tf2, torch 本文对于tensorflow相关的 tf_session不做介绍

env

        self.env = None  # 先使用 register 注册环境,然后使用str进行定义
        self.env_config = {
   
   } # 根据自己设置的env_config变量进行设置
        self.observation_space = None # 观测空间,可以不设置,根据env.observation_space直接得到
        self.action_space = None # 动作空间,可以不设置,根据env.action_space 直接得到
        self.env_task_fn = None # 在多任务中,设置环境中如何执行每一个任务
        self.render_env = False # 是否渲染环境, True会生成video 和 ray_results | False 只会生成 ray_results 
        self.clip_rewards = None # 是否要对reward 进行clip
        self.normalize_actions = True # 是否要正则化动作 ,根据action_space的上下界进行normalization
        self.clip_actions = False # 是否要对action进行clip , 根据动作空间的上下界进行clip
        self.disable_env_checking = False # 在开始时,是否要拒绝检查环境 : True: 不检查环境 

rollouts

        self.num_workers = 2  # remote_worker的数量。 如果只希望一个local_worker,则设置为0 
        self.num_envs_per_worker = 1 # 每个worker几个env同时执行 
        self.sample_collector = SimpleListCollector # 如何从不同的worker之间收集samples
        self.create_env_on_local_worker = False # 是否要在 local_worker中创造env。 可以不设置,会自动设置。 
        self.sample_async = False # 是否要采取 非同步sample
        self.enable_connectors = False
        self.rollout_fragment_length = 200 # 每次从一个worker的一个env中获得多少samples
        # num_envs_per_worker 大于1的时候,每个worker获得的samples是 num_envs_per_worker*rollout_fragment_length
		# 最终合在一起,生成 train_batch_size 

        self.batch_mode 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值