class_docstr: Represents a probabilistic graphical causal model, i.e. it combines a graphical representation of causal
  causal relationships and corresponding causal mechanism for each node describing the data generation process. The
  causal mechanisms can be any general stochastic models.
class_docstr_tok: ["Represents","a","probabilistic","graphical","causal","model",",","i.e",".","it","combines","a","graphical","representation","of","causal","causal","relationships","and","corresponding","causal","mechanism","for","each","node","describing","the","data","generation","process",".","The","causal","mechanisms","can","be","any","general","stochastic","models","."]
docstr: Clones the causal model, but keeps causal mechanisms untrained.
docstr_tok: ["Clones","the","causal","model",",","but","keeps","causal","mechanisms","untrained","."]
code: def clone(self):
      """Clones the causal model, but keeps causal mechanisms untrained."""
      graph_copy = self.graph_copier(self.graph)
      clone_causal_models(self.graph, graph_copy)
      return self.__class__(graph_copy)
  
imports: from typing import Any, Callable, Optional, Union
  import networkx
  from dowhy.gcm.causal_mechanisms import ConditionalStochasticModel, FunctionalCausalModel, InvertibleFunctionalCausalModel, StochasticModel
  from dowhy.graph import DirectedGraph, HasNodes, get_ordered_predecessors, is_root_node, validate_acyclic, validate_node_in_graph
label_desc: Use image node_id 4 for calling the ProbabilisticCausalModel obj's underlying member method code with example usage: obj.clone() and returns: self