浏览代码

use run_seed if no seed specified in yaml

/sampler-refactor-copy
Andrew Cohen 4 年前
当前提交
72e4a9c6
共有 2 个文件被更改,包括 6 次插入7 次删除
  1. 4
      com.unity.ml-agents/Runtime/SideChannels/EnvironmentParametersChannel.cs
  2. 9
      ml-agents/mlagents/trainers/learn.py

4
com.unity.ml-agents/Runtime/SideChannels/EnvironmentParametersChannel.cs


else if ((int)EnvironmentDataTypes.Sampler == type)
{
int seed = msg.ReadInt32();
if (seed == -1)
{
seed = UnityEngine.Random.Range(0, 10000);
}
var encoding = msg.ReadFloatList();
m_Parameters[key] = m_SamplerFactory.CreateSampler(encoding, seed);
}

9
ml-agents/mlagents/trainers/learn.py


maybe_meta_curriculum = try_create_meta_curriculum(
options.curriculum, env_manager, restore=checkpoint_settings.resume
)
maybe_add_samplers(options.parameter_randomization, env_manager)
maybe_add_samplers(options.parameter_randomization, env_manager, run_seed)
trainer_factory = TrainerFactory(
options.behaviors,

def maybe_add_samplers(
sampler_config: Optional[Dict], env: SubprocessEnvManager
sampler_config: Optional[Dict], env: SubprocessEnvManager, run_seed: int
# TODO send seed
# If the seed is not specified in yaml, this will grab the run seed
for _, v in sampler_config.items():
if v.seed == -1:
v.seed = run_seed
env.reset(config=sampler_config)

正在加载...
取消
保存