30 from daal.algorithms.neural_networks
import layers
31 from daal.algorithms.neural_networks.layers
import split
33 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
34 if utils_folder
not in sys.path:
35 sys.path.insert(0, utils_folder)
36 from utils
import printTensor, readTensorFromCSV
39 datasetName = os.path.join(
"..",
"data",
"batch",
"layer.csv")
43 if __name__ ==
"__main__":
46 tensorData = readTensorFromCSV(datasetName)
49 splitLayerForward = split.forward.Batch()
52 splitLayerForward.parameter.nOutputs = nOutputs
53 splitLayerForward.parameter.nInputs = nInputs
56 splitLayerForward.input.setInput(layers.forward.data, tensorData)
58 printTensor(tensorData,
"Split layer input (first 5 rows):", 5)
61 forwardResult = splitLayerForward.compute()
64 for i
in range(nOutputs):
65 printTensor(forwardResult.getResultLayerData(split.forward.valueCollection, i),
66 "Forward split layer result (first 5 rows):", 5)
69 splitLayerBackward = split.backward.Batch()
72 splitLayerBackward.parameter.nOutputs = nOutputs
73 splitLayerBackward.parameter.nInputs = nInputs
76 splitLayerBackward.input.setInputLayerData(split.backward.inputGradientCollection,
77 forwardResult.getResultLayerData(split.forward.valueCollection))
80 backwardResult = splitLayerBackward.compute()
83 printTensor(backwardResult.getResult(layers.backward.gradient),
"Backward split layer result (first 5 rows):", 5)