2020-04-29 12:12:59 +02:00
|
|
|
from ray.rllib.models.modelv2 import ModelV2
|
2019-08-23 02:21:11 -04:00
|
|
|
from ray.rllib.models.tf.tf_modelv2 import TFModelV2
|
2020-04-16 10:20:01 +02:00
|
|
|
from ray.rllib.models.torch.torch_modelv2 import TorchModelV2
|
2019-07-24 13:55:55 -07:00
|
|
|
from ray.rllib.utils.annotations import override
|
2020-06-16 08:52:20 +02:00
|
|
|
from ray.rllib.utils.framework import try_import_tf
|
2019-07-24 13:55:55 -07:00
|
|
|
|
2020-06-30 10:13:20 +02:00
|
|
|
_, tf, _ = try_import_tf()
|
2019-07-24 13:55:55 -07:00
|
|
|
|
|
|
|
|
2019-08-23 02:21:11 -04:00
|
|
|
class NoopModel(TFModelV2):
|
2019-07-24 13:55:55 -07:00
|
|
|
"""Trivial model that just returns the obs flattened.
|
|
|
|
|
|
|
|
This is the model used if use_state_preprocessor=False."""
|
|
|
|
|
2020-04-29 12:12:59 +02:00
|
|
|
@override(ModelV2)
|
2019-08-23 02:21:11 -04:00
|
|
|
def forward(self, input_dict, state, seq_lens):
|
|
|
|
return tf.cast(input_dict["obs_flat"], tf.float32), state
|
2020-04-16 10:20:01 +02:00
|
|
|
|
|
|
|
|
|
|
|
class TorchNoopModel(TorchModelV2):
|
|
|
|
"""Trivial model that just returns the obs flattened.
|
|
|
|
|
|
|
|
This is the model used if use_state_preprocessor=False."""
|
|
|
|
|
2020-04-29 12:12:59 +02:00
|
|
|
@override(ModelV2)
|
2020-04-16 10:20:01 +02:00
|
|
|
def forward(self, input_dict, state, seq_lens):
|
|
|
|
return input_dict["obs_flat"].float(), state
|