class_docstr: An agent that mixes a set of agents with a given mixture.
  
  For every data sample, the agent updates the sub-agent that was used to make
  the action choice in that sample. For this update to happen, the mixture agent
  needs to have the information on which sub-agent is "responsible" for the
  action. This information is in a policy info field `mixture_agent_id`.
  
  Note that this agent makes use of `tf.dynamic_partition`, and thus it is not
  compatible with XLA.
class_docstr_tok: ["An","agent","that","mixes","a","set","of","agents","with","a","given","mixture",".","For","every","data","sample",",","the","agent","updates","the","sub-agent","that","was","used","to","make","the","action","choice","in","that","sample",".","For","this","update","to","happen",",","the","mixture","agent","needs","to","have","the","information","on","which","sub-agent","is","``","responsible","''","for","the","action",".","This","information","is","in","a","policy","info","field","`","mixture_agent_id","`",".","Note","that","this","agent","makes","use","of","`","tf.dynamic_partition","`",",","and","thus","it","is","not","compatible","with","XLA","."]
docstr: This function updates the mixture weights given training experience.
docstr_tok: ["This","function","updates","the","mixture","weights","given","training","experience","."]
code: def _update_mixture_distribution(self, experience):
      """This function updates the mixture weights given training experience."""
      raise NotImplementedError(
          "`_update_mixture_distribution` should be "
          "implemented by subclasses of `MixtureAgent`."
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  from typing import List, Optional, Sequence, Text
  import gin
  import tensorflow
  from tf_agents.agents import data_converter
  from tf_agents.agents import tf_agent
  from tf_agents.bandits.policies import mixture_policy
  from tf_agents.trajectories import trajectory
  from tf_agents.typing import types
  from tf_agents.utils import common
  from tf_agents.utils import nest_utils
label_desc: Use image node_id 3 for calling the MixtureAgent obj's underlying member method code with example usage: obj._update_mixture_distribution(experience) without return types