evox.algorithms.so.es_variants.persistent_es¶
模块内容¶
类¶
持续ES算法的实现。 |
API¶
- class evox.algorithms.so.es_variants.persistent_es.PersistentES(pop_size: int, center_init: torch.Tensor, optimizer: Literal[adam] | None = None, lr: float = 0.05, sigma: float = 0.03, T: int = 100, K: int = 10, sigma_decay: float = 1.0, sigma_limit: float = 0.01, device: torch.device | None = None)[源代码]¶
基础:
evox.core.Algorithm持续ES算法的实现。
Reference: Unbiased Gradient Estimation in Unrolled Computation Graphs with Persistent Evolution Strategies (http://proceedings.mlr.press/v139/vicol21a.html)
这段代码受到了 evosax 中算法实现的启发或使用了其实现。有关 evosax 的更多信息,请访问以下网址:GitHub 链接:https://github.com/RobertTLange/evosax
初始化
用给定的参数初始化 Persistent-ES 算法。
- 参数:
pop_size -- 种群大小。
center_init -- 种群的初始中心。必须是一个一维张量。
optimizer -- 使用的优化器(optimizer)。 默认情况下为 None。 仅 support "adam" 或 None。
lr -- 优化器的学习率。默认值为 0.05。
sigma -- 噪声的标准差。默认为 0.03。
sigma_decay -- 标准差的衰减因子。默认为 1.0。
sigma_limit -- 标准差的最小值。默认值为 0.01。
T -- 内部问题长度。默认为 100。
K -- 内部问题的数量。默认值为 10。
device -- 设备的使用者(设备用于存放张量的硬件)。默认为 None。