def process()

in transducer.py [0:0]


        def process(b):
            for t in range(0, T - kernel_size + 1, stride):
                input_graph = gtn.linear_graph(kernel_size, C, inputs.requires_grad)
                window = cpu_inputs[b, t : t + kernel_size, :].contiguous()
                input_graph.set_weights(window.data_ptr())
                if viterbi:
                    window_outputs = [
                        gtn.viterbi_score(gtn.intersect(input_graph, kernel))
                        for kernel in kernels
                    ]
                else:
                    window_outputs = [
                        gtn.forward_score(gtn.intersect(input_graph, kernel))
                        for kernel in kernels
                    ]
                output_graphs[b].append(window_outputs)

                # Save for backward:
                if input_graph.calc_grad:
                    input_graphs[b].append(input_graph)