Skip to content

[SAC] Visual Encoder Type is not optional #3675

@jaros3

Description

@jaros3

Describe the bug
Documentation says that vis_encode_type is optional and lists a default value. However, when I omit it from my config file, I get an error:

mlagents.trainers.trainer.UnityTrainerException: The hyper-parameter vis_encode_type could not be found for the <class 'mlagents.trainers.sac.trainer.SACTrainer'> trainer of brain Helicopter.

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Training-SAC.md#optional-visual-encoder-type

To Reproduce
Here is my config for SAC trainer without vis_encode_type:

Helicopter:
    trainer: sac
    buffer_size: 4e+6
    buffer_init_steps: 1000
    batch_size: 1024
    init_entcoef: 0.5
    train_interval: 20
    num_update: 1
    tau: 0.005
    learning_rate: 1e-3
    learning_rate_schedule: linear
    time_horizon: 32
    max_steps: 1e6
    normalize: true
    num_layers: 2
    hidden_units: 128

Console logs / stack traces

Traceback (most recent call last):
  File "D:\Program Files\Python36\Scripts\mlagents-learn-script.py", line 11, in <module>
    load_entry_point('mlagents', 'console_scripts', 'mlagents-learn')()
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\learn.py", line 479, in main
    run_cli(parse_command_line())
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\learn.py", line 475, in run_cli
    run_training(run_seed, options)
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\learn.py", line 320, in run_training
    tc.start_learning(env_manager)
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 212, in start_learning
    self._create_trainers_and_managers(env_manager, new_behavior_ids)
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 199, in _create_trainers_and_managers
    self._create_trainer_and_manager(env_manager, behavior_id)
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer_controller.py", line 173, in _create_trainer_and_manager
    trainer = self.trainer_factory.generate(brain_name)
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer_util.py", line 53, in generate
    self.multi_gpu,
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer_util.py", line 149, in initialize_trainer
    run_id,
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\sac\trainer.py", line 77, in __init__
    self._check_param_keys()
  File "e:\my documents\unity\ml-agents\ml-agents\mlagents\trainers\trainer.py", line 73, in _check_param_keys
    "brain {2}.".format(k, self.__class__, self.brain_name)
mlagents.trainers.trainer.UnityTrainerException: The hyper-parameter vis_encode_type could not be found for the <class 'mlagents.trainers.sac.trainer.SACTrainer
'> trainer of brain Helicopter.

Screenshots

Environment (please complete the following information):

  • Windows 7
  • ML-Agents v0.14
  • tensorflow 1.12.0
  • environment: None

Metadata

Metadata

Assignees

Labels

bugIssue describes a potential bug in ml-agents.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions