### Background

The RLlib use StructuredTensor deal with the **complex obs space**.

### What’s the problem?

I use `trainer.get_policy().export_model()`

export rllib CHECKPOINT model into TFModel(pd files). The export process works well. But when i want to use the TFModel do inference, i find the observation requires A Tensor Type and my input_dict is a Dict with action mask. So, should i convert my dict inputs into StructuredTensor?

### Script

the `input_dict`

is a Dict like this

`{"avail_action": np.array([0.0] * 59), "action_mask": np.array([0.0] * 59), "state": np.zeros(shape=(4, 27, 8))}`

```
predict_fn = tf.saved_model.load(exported_model_path)
infer = predict_fn.signatures["serving_default"]
outputs = infer(observations=tf.constant([input_dict['state'].tolist()], dtype=tf.float32),
prev_reward=tf.constant(0.0), is_training=tf.constant(False),
seq_lens=tf.constant(0, dtype=tf.int32), prev_action=tf.constant(1, dtype=tf.int64))
```

**The observations Requirement like this:**

As we can see, the observations is the flattened input_dict, but i can’t find the way to convert A Dict Type into StructredTensor.

Any suggestion will be helpful!