def test_get_all_sinks_and_sources(layers): forced_orders = get_forced_orders(layers) connections = get_connections(layers) layout = create_layout_stub(layers) all_sources = get_all_sources(forced_orders, connections, layout) assert all_sources == [ 'Input.outputs.default', 'Input.output_deltas.default', 'A.outputs.default', ('A.parameters.W', 'A.parameters.bias'), 'A.output_deltas.default', ('A.gradients.W', 'A.gradients.bias'), 'B.outputs.default', ('B.parameters.W', 'B.parameters.bias'), 'B.output_deltas.default', ('B.gradients.W', 'B.gradients.bias'), 'C.outputs.default', ('C.parameters.W', 'C.parameters.bias'), 'C.output_deltas.default', ('C.gradients.W', 'C.gradients.bias'), 'D.outputs.default', ('D.parameters.W', 'D.parameters.bias'), 'D.output_deltas.default', ('D.gradients.W', 'D.gradients.bias')]
def test_get_connections(layers): assert get_connections(layers) == [ ('A.gradients.W', 'gradients'), ('A.gradients.bias', 'gradients'), ('A.output_deltas.default', 'C.input_deltas.default'), ('A.outputs.default', 'C.inputs.default'), ('A.parameters.W', 'parameters'), ('A.parameters.bias', 'parameters'), ('B.gradients.W', 'gradients'), ('B.gradients.bias', 'gradients'), ('B.output_deltas.default', 'C.input_deltas.default'), ('B.output_deltas.default', 'D.input_deltas.default'), ('B.outputs.default', 'C.inputs.default'), ('B.outputs.default', 'D.inputs.default'), ('B.parameters.W', 'parameters'), ('B.parameters.bias', 'parameters'), ('C.gradients.W', 'gradients'), ('C.gradients.bias', 'gradients'), ('C.output_deltas.default', 'D.input_deltas.default'), ('C.outputs.default', 'D.inputs.default'), ('C.parameters.W', 'parameters'), ('C.parameters.bias', 'parameters'), ('D.gradients.W', 'gradients'), ('D.gradients.bias', 'gradients'), ('D.parameters.W', 'parameters'), ('D.parameters.bias', 'parameters'), ('Input.output_deltas.default', 'A.input_deltas.default'), ('Input.output_deltas.default', 'B.input_deltas.default'), ('Input.outputs.default', 'A.inputs.default'), ('Input.outputs.default', 'B.inputs.default') ]