code: def test_ddpg_normalization():
      """
      Test that observations and returns normalizations are properly saved and loaded.
      """
      param_noise = AdaptiveParamNoiseSpec(
          initial_stddev=0.05, desired_action_stddev=0.05
      )
      model = DDPG(
          "MlpPolicy",
          "Pendulum-v0",
          memory_limit=50000,
          normalize_observations=True,
          normalize_returns=True,
          nb_rollout_steps=128,
          nb_train_steps=1,
          batch_size=64,
          param_noise=param_noise,
      )
      model.learn(NUM_TIMESTEPS)
      obs_rms_params = model.sess.run(model.obs_rms_params)
      ret_rms_params = model.sess.run(model.ret_rms_params)
      model.save("./test_ddpg.zip")
  
      loaded_model = DDPG.load("./test_ddpg.zip")
      obs_rms_params_2 = loaded_model.sess.run(
          loaded_model.obs_rms_params
      )
      ret_rms_params_2 = loaded_model.sess.run(
          loaded_model.ret_rms_params
      )
  
      for param, param_loaded in zip(
          obs_rms_params + ret_rms_params,
          obs_rms_params_2 + ret_rms_params_2,
      ):
          assert np.allclose(param, param_loaded)
  
      del model, loaded_model
  
      if os.path.exists("./test_ddpg.zip"):
          os.remove("./test_ddpg.zip")
  
file_path: stable-baselines/tests/test_continuous.py
imports: import subprocess
  import os
  import gym
  import pytest
  import numpy
  from stable_baselines import A2C, ACKTR, SAC, DDPG, PPO1, PPO2, TRPO, TD3
  from stable_baselines.common.vec_env import DummyVecEnv
  from stable_baselines.common.identity_env import IdentityEnvBox
  from stable_baselines.ddpg import AdaptiveParamNoiseSpec, NormalActionNoise
  from stable_baselines.common.evaluation import evaluate_policy
  from tests.test_common import _assert_eq
label_desc: Use image node_id 4 for calling a global function with example usage: test_ddpg_normalization() without return types