docstr: Called when a proxy object is has the keys() method called.
  This is what happens when ** is called on a proxy. This should return an
  iterator it ** is suppose to work in your custom tracer.
docstr_tok: ["Called","when","a","proxy","object","is","has","the","keys","(",")","method","called",".","This","is","what","happens","when","*","*","is","called","on","a","proxy",".","This","should","return","an","iterator","it","*","*","is","suppose","to","work","in","your","custom","tracer","."]
code: def keys(self, obj: "Proxy") -> Any:
      """Called when a proxy object is has the keys() method called.
      This is what happens when ** is called on a proxy. This should return an
      iterator it ** is suppose to work in your custom tracer.
      """
      return Attribute(obj, "keys")()
  
imports: import enum
  import dis
  import copy
  import sys
  import torch
  import inspect
  import operator
  import traceback
  import collections
  from dataclasses import is_dataclass, fields
  from .graph import magic_methods, reflectable_magic_methods, Graph
  from typing import Tuple, Dict, OrderedDict, Optional, Any, Iterator, Callable
  from .node import Target, Node, Argument, base_types, map_aggregate
  from ._compatibility import compatibility
  from .operator_schemas import check_for_mutable_operation
  import torch.fx.traceback
label_desc: Use image node_id 8 for calling the TracerBase obj's underlying member method code with example usage: obj.keys(obj) and returns: Attribute