class_docstr: Stores useful variable tracking information.
  
  In essence, replaces collections, and this way
  we don't have to deal with `MetaGraphs`.
docstr: Trainable Variables.
docstr_tok: ["Trainable","Variables","."]
code: def trainable_variables(self):
      """Trainable Variables."""
      return [v for v in self.variables if v.trainable]
  
imports: import contextlib
  import copy
  import functools
  from collections import defaultdict
  from typing import Union, Callable
  from google.protobuf.any_pb2 import Any
  from tensorflow.core.framework.graph_pb2 import GraphDef
  from tensorflow.core.framework.variable_pb2 import VariableDef
  from tensorflow.core.protobuf.saver_pb2 import SaverDef
  from tensorflow.python.framework import ops
  from tensorflow.python.framework.importer import import_graph_def
  from tensorflow.python.ops.resource_variable_ops import _from_proto_fn
  from tensorflow.python.ops.variables import Variable
  from autodist.const import COLOCATION_PREFIX
  from autodist.kernel.common import op_info
  from autodist.kernel.common.utils import parse_name_scope, get_op_name
  from autodist.proto import graphitem_pb2
  from autodist.utils import logging
label_desc: Use image node_id 3 for calling the Info obj's underlying member method code with example usage: obj.trainable_variables() and returns: unknown