code: def test_multi_dim(self):
      eps_ids = [1, 1, 1]
      agent_ids = [1, 1, 1]
      obs = np.ones((84, 84, 4))
      f = [[obs, obs * 2, obs * 3]]
      s = [[209, 208, 207]]
      f_pad, s_init, seq_lens = chop_into_sequences(
          episode_ids=eps_ids,
          unroll_ids=np.ones_like(eps_ids),
          agent_indices=agent_ids,
          feature_columns=f,
          state_columns=s,
          max_seq_len=4,
      )
      self.assertEqual(
          [f.tolist() for f in f_pad],
          [
              np.array([obs, obs * 2, obs * 3]).tolist(),
          ],
      )
      self.assertEqual([s.tolist() for s in s_init], [[209]])
      self.assertEqual(seq_lens.tolist(), [3])
  
imports: import numpy
  import pickle
  import unittest
  import ray
  from ray.rllib.algorithms.ppo import PPOConfig
  from ray.rllib.examples.env.debug_counter_env import DebugCounterEnv
  from ray.rllib.examples.models.rnn_spy_model import RNNSpyModel
  from ray.rllib.models import ModelCatalog
  from ray.rllib.policy.rnn_sequencing import chop_into_sequences
  from ray.rllib.policy.sample_batch import SampleBatch
  from ray.rllib.utils.test_utils import check
  from ray.tune.registry import register_env
label_desc: Use image node_id 3 for calling the TestLSTMUtils obj's underlying member method code with example usage: obj.test_multi_dim() without return types