class_docstr: Unconditional start-to-finish program execution in Python.
  Garbage collection is possible on intermediate results.
class_docstr_tok: ["Unconditional","start-to-finish","program","execution","in","Python",".","Garbage","collection","is","possible","on","intermediate","results","."]
code: def __init__(self, nodes, thunks, pre_call_clear, post_thunk_clear):
      super(LoopGC, self).__init__(nodes, thunks, pre_call_clear)
      self.post_thunk_clear = post_thunk_clear
      # Some other part of Theano query that information
      self.allow_gc = True
      if not (len(nodes) == len(thunks) == len(post_thunk_clear)):
          raise ValueError()
  
imports: from __future__ import absolute_import, print_function, division
  from .None import link
  from collections import defaultdict
  import logging
  import sys
  import time
  import warnings
  import platform
  from theano.configparser import config, _config_var_list
  import theano.gof.cmodule
  from six import iteritems, itervalues
  from six.moves import xrange
label_desc: Use image node_id 1 to create a new LoopGC object from inherited base classes: VM with example: obj = LoopGC(nodes, thunks, pre_call_clear, post_thunk_clear)