code: def test_identity_continuous(model_class):
      """
      Test if the algorithm (with a given policy)
      can learn an identity transformation (i.e. return observation as an action)
      """
      env = DummyVecEnv([lambda: IdentityEnvBox(eps=0.5)])
  
      n_steps = {SAC: 700, TD3: 500, DDPG: 2000}[model_class]
  
      kwargs = dict(seed=0, gamma=0.95, buffer_size=1e5)
      if model_class in [DDPG, TD3]:
          n_actions = 1
          action_noise = NormalActionNoise(
              mean=np.zeros(n_actions), sigma=0.05 * np.ones(n_actions)
          )
          kwargs["action_noise"] = action_noise
  
      if model_class == DDPG:
          kwargs["actor_lr"] = 1e-3
          kwargs["batch_size"] = 100
  
      model = model_class("MlpPolicy", env, **kwargs)
      model.learn(total_timesteps=n_steps)
  
      evaluate_policy(
          model, env, n_eval_episodes=20, reward_threshold=90
      )
      # Free memory
      del model, env
  
file_path: stable-baselines/tests/test_identity.py
imports: import pytest
  import numpy
  from stable_baselines import A2C, ACER, ACKTR, DQN, DDPG, SAC, PPO1, PPO2, TD3, TRPO
  from stable_baselines.ddpg import NormalActionNoise
  from stable_baselines.common.identity_env import IdentityEnv, IdentityEnvBox
  from stable_baselines.common.vec_env import DummyVecEnv
  from stable_baselines.common.evaluation import evaluate_policy
label_desc: Use image node_id 2 for calling a global function with example usage: test_identity_continuous(model_class) without return types