def compute_gc_dependencies(self, variables):
        dependencies = {}
        for k in variables:
            dependencies[k] = []
            # If k has no owner, it is an input / constant and its value
            # should not be removed from the storage_map because we have no
            # way of getting it back.
            #
            # XXX if k has no clients... what is it doing in the computation?
            # Fred guess: it could happen for node with multiple outputs when
            # we don't use all outputs.

            if k.owner and k.clients:
                ls = []
                for cl in k.clients:
                    if cl[0] != 'output':
                        ls += cl[0].outputs
                dependencies[k] += ls
        return dependencies
Convert a pandas DataFrame to a dictionary that will survive
dataset/ETHPy150Open rizar/attention-lvcsr/libs/Theano/theano/gof/vm.py/VM_Linker.compute_gc_dependencies--crossover with--dataset/ETHPy150Open UDST/urbansim/urbansim/utils/yamlio.py/frame_to_yaml_safe