noop_model.py 872 B

123456789101112131415161718192021222324252627
  1. from ray.rllib.models.modelv2 import ModelV2
  2. from ray.rllib.models.tf.tf_modelv2 import TFModelV2
  3. from ray.rllib.models.torch.torch_modelv2 import TorchModelV2
  4. from ray.rllib.utils.annotations import override
  5. from ray.rllib.utils.framework import try_import_tf
  6. _, tf, _ = try_import_tf()
  7. class NoopModel(TFModelV2):
  8. """Trivial model that just returns the obs flattened.
  9. This is the model used if use_state_preprocessor=False."""
  10. @override(ModelV2)
  11. def forward(self, input_dict, state, seq_lens):
  12. return tf.cast(input_dict["obs_flat"], tf.float32), state
  13. class TorchNoopModel(TorchModelV2):
  14. """Trivial model that just returns the obs flattened.
  15. This is the model used if use_state_preprocessor=False."""
  16. @override(ModelV2)
  17. def forward(self, input_dict, state, seq_lens):
  18. return input_dict["obs_flat"].float(), state