class_docstr: Structured policy class designed to work with structured environments.
  (see :class:`~maze.core.env.structured_env.StructuredEnv`).
  
  It encapsulates policies and queries them for actions according to the provided policy ID.
class_docstr_tok: ["Structured","policy","class","designed","to","work","with","structured","environments",".","(","see",":","class",":","`","~maze.core.env.structured_env.StructuredEnv","`",")",".","It","encapsulates","policies","and","queries","them","for","actions","according","to","the","provided","policy","ID","."]
docstr: The policy implementation declares if it operates solely on observations (needs_state returns False) or
  if it also requires the state object in order to compute the action.
  
  Note that requiring the state object comes with performance implications, especially in multi-node distributed
  workloads, where both objects would need to be transferred over the network.
docstr_tok: ["The","policy","implementation","declares","if","it","operates","solely","on","observations","(","needs_state","returns","False",")","or","if","it","also","requires","the","state","object","in","order","to","compute","the","action",".","Note","that","requiring","the","state","object","comes","with","performance","implications",",","especially","in","multi-node","distributed","workloads",",","where","both","objects","would","need","to","be","transferred","over","the","network","."]
code: def needs_state(self) -> bool:
      """The policy implementation declares if it operates solely on observations (needs_state returns False) or
      if it also requires the state object in order to compute the action.
  
      Note that requiring the state object comes with performance implications, especially in multi-node distributed
      workloads, where both objects would need to be transferred over the network.
      """
  
file_path: maze/maze/core/agent/policy.py
imports: from abc import ABC, abstractmethod
  from typing import Tuple, Optional, List
  from maze.core.env.action_conversion import ActionType
  from maze.core.env.base_env import BaseEnv
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.observation_conversion import ObservationType
  from maze.core.env.structured_env import ActorID
  from maze.core.trajectory_recording.records.spaces_record import PolicyRecordType
label_desc: Use image node_id 2 for calling the Policy obj's underlying member method code with example usage: obj.needs_state() without return types