class_docstr: An observation normalization wrapper.
  It provides functionality for:
  
      - normalizing observations according to specified normalization strategies
      - clipping observations according to specified min and max values
      - estimating normalization statistics from observations collecting by interacting with the environment
      - manually overwriting the observation normalization parameters
  
  The current implementation assumes that observation space is **always** a Dict (even if just a Dict-wrapped Box).
  
  :param env: Environment/wrapper to wrap.
  :param default_strategy: The default observation normalization strategy.
  :param default_statistics: Manual default normalization statistics.
  :param statistics_dump: Path to a pickle file dump of normalization statistics.
  :param sampling_policy: The sampling policy for estimating the statistics.
  :param exclude: List of observation keys to exclude from normalization.
  :param manual_config: Additional manual configuration options.
class_docstr_tok: ["An","observation","normalization","wrapper",".","It","provides","functionality","for",":","-","normalizing","observations","according","to","specified","normalization","strategies","-","clipping","observations","according","to","specified","min","and","max","values","-","estimating","normalization","statistics","from","observations","collecting","by","interacting","with","the","environment","-","manually","overwriting","the","observation","normalization","parameters","The","current","implementation","assumes","that","observation","space","is","*","*","always","*","*","a","Dict","(","even","if","just","a","Dict-wrapped","Box",")",".",":","param","env",":","Environment\/wrapper","to","wrap",".",":","param","default_strategy",":","The","default","observation","normalization","strategy",".",":","param","default_statistics",":","Manual","default","normalization","statistics",".",":","param","statistics_dump",":","Path","to","a","pickle","file","dump","of","normalization","statistics",".",":","param","sampling_policy",":","The","sampling","policy","for","estimating","the","statistics",".",":","param","exclude",":","List","of","observation","keys","to","exclude","from","normalization",".",":","param","manual_config",":","Additional","manual","configuration","options","."]
docstr: implementation of :class:`~maze.core.env.simulated_env_mixin.SimulatedEnvMixin`.
docstr_tok: ["implementation","of",":","class",":","`","~maze.core.env.simulated_env_mixin.SimulatedEnvMixin","`","."]
code: def clone_from(self, env: "ObservationNormalizationWrapper") -> None:
      """implementation of :class:`~maze.core.env.simulated_env_mixin.SimulatedEnvMixin`."""
      self.env.clone_from(env)
  
imports: import copy
  import os
  import pickle
  from collections import defaultdict
  from types import ModuleType
  from typing import Any, Dict, Union, List, Optional
  import gym
  import numpy
  from maze.core.agent.policy import Policy
  from maze.core.annotations import override
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.simulated_env_mixin import SimulatedEnvMixin
  from maze.core.env.structured_env import StructuredEnv
  from maze.core.utils.factory import Factory
  from maze.core.wrappers.observation_normalization.normalization_strategies.base import ObservationNormalizationStrategy, StructuredStatisticsType
  from maze.core.wrappers.wrapper import ObservationWrapper
  from omegaconf import DictConfig
label_desc: Use image node_id 16 for calling the ObservationNormalizationWrapper obj's underlying member method code with example usage: obj.clone_from(env) without return types