class_docstr: Extension of standard TFModel to provide distributional Q values.
  
  It also supports options for noisy nets and parameter space noise.
  
  Data flow:
      obs -> forward() -> model_out
      model_out -> get_q_value_distributions() -> Q(s, a) atoms
      model_out -> get_state_value() -> V(s)
  
  Note that this class by itself is not a valid model unless you
  implement forward() in a subclass.
class_docstr_tok: ["Extension","of","standard","TFModel","to","provide","distributional","Q","values",".","It","also","supports","options","for","noisy","nets","and","parameter","space","noise",".","Data","flow",":","obs","-",">","forward","(",")","-",">","model_out","model_out","-",">","get_q_value_distributions","(",")","-",">","Q","(","s",",","a",")","atoms","model_out","-",">","get_state_value","(",")","-",">","V","(","s",")","Note","that","this","class","by","itself","is","not","a","valid","model","unless","you","implement","forward","(",")","in","a","subclass","."]
docstr: Returns the state value prediction for the given state embedding.
docstr_tok: ["Returns","the","state","value","prediction","for","the","given","state","embedding","."]
code: def get_state_value(self, model_out: TensorType) -> TensorType:
      """Returns the state value prediction for the given state embedding."""
      return self.state_value_head(model_out)
  
file_path: ray/rllib/algorithms/dqn/distributional_q_tf_model.py
imports: from typing import List
  import gymnasium
  from ray.rllib.models.tf.layers import NoisyLayer
  from ray.rllib.models.tf.tf_modelv2 import TFModelV2
  from ray.rllib.utils.framework import try_import_tf
  from ray.rllib.utils.typing import ModelConfigDict, TensorType
label_desc: Use image node_id 3 for calling the DistributionalQTFModel obj's underlying member method code with example usage: obj.get_state_value(model_out) and returns: self