Hello, I tried training with curriculum learning, and I wrote this yaml file. However, mlagents.trainers.exception.TrainerConfigError happened. Where did I miss? I’m using Release 17.
yaml file:
behaviors:
School_Only1F_Hard_Cur:
trainer_type: ppo
max_steps: 10000000
keep_checkpoints: 100
checkpoint_interval: 200000
time_horizon: 64
summary_freq: 10000
threaded: true
hyperparameters:
batch_size: 64
buffer_size: 2048
learning_rate: 1e-4
beta: 1e-3
epsilon: 0.2
lambd: 0.95
num_epoch: 3
learning_rate_schedule: linear
network_settings:
normalize: false
hidden_units: 512
num_layers: 3
vis_encode_type: simple
reward_signals:
extrinsic:
gamma: 0.995
strength: 1.0
curiosity:
gamma: 0.995
strength: 0.01
encoding_size: 64
learning_rate: 3e-4
environment_parameters:
SpawnableAreaNum:
curriculum:
- name: B_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.8
value: 0.0
- name: A_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.7
value: 1.0
- name: C_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.7
value: 2.0
- name: All
value: 3.0
StepReward:
curriculum:
- name: B_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.8
value: 0.0
- name: A_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.7
value: 0.0
- name: C_StairSide
completion-criteria:
measure: reward
behavior: School_Only1F_Hard_Cur
signal_smoothing: true
min_lesson_length: 100
threshold: 0.7
value: 0.0
- name: All
value: -0.0005
ERRORS:
[WARNING] ‘encoding_size’ was deprecated for RewardSignals. Please use network_settings.
Traceback (most recent call last):
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\Scripts\mlagents-learn-script.py”, line 33, in
sys.exit(load_entry_point(‘mlagents’, ‘console_scripts’, ‘mlagents-learn’)())
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\learn.py”, line 250, in main
run_cli(parse_command_line())
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\learn.py”, line 49, in parse_command_line
return RunOptions.from_argparse(args)
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 889, in from_argparse
final_runoptions = RunOptions.from_dict(configured_dict)
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 906, in from_dict
return cattr.structure(options_dict, RunOptions)
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 192, in structure
return self._structure_func.dispatch(cl)(obj, cl)
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 314, in structure_attrs_fromdict
dispatch(type_)(val, type_) if type_ is not None else val
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 387, in _structure_union
return self._structure_func.dispatch(other)(obj, other)
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 572, in structure
environment_parameter_config, EnvironmentParameterSettings
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 53, in strict_to_cls
d_copy[key] = check_and_structure(key, val, t)
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 44, in check_and_structure
return cattr.structure(value, attr_fields_dict[key].type)
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 192, in structure
return self._structure_func.dispatch(cl)(obj, cl)
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 327, in _structure_list
for e in obj
File “C:\Users\yuta04\anaconda3\envs\ML-Agents2\lib\site-packages\cattr\converters.py”, line 327, in
for e in obj
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 53, in strict_to_cls
d_copy[key] = check_and_structure(key, val, t)
File “c:\users\yuta04\ml-agents\ml-agents-release_17_branch\ml-agents\mlagents\trainers\settings.py”, line 41, in check_and_structure
f"The option {key} was specified in your YAML file for {class_type.name}, but is invalid."
mlagents.trainers.exception.TrainerConfigError: The option completion-criteria was specified in your YAML file for Lesson, but is invalid.