public OutputLayer(int outputSize, int controllerSize, int headCount, int memoryUnitSizeM) { _outputSize = outputSize; _controllerSize = controllerSize; _headCount = headCount; _memoryUnitSizeM = memoryUnitSizeM; _headUnitSize = Head.GetUnitSize(memoryUnitSizeM); _hiddenToOutputLayerWeights = UnitFactory.GetTensor2(outputSize, controllerSize + 1); _hiddenToHeadsWeights = UnitFactory.GetTensor3(headCount, _headUnitSize, controllerSize + 1); HeadsNeurons = new Head[headCount]; }
public HiddenLayer(int controllerSize, int inputSize, int headCount, int memoryUnitSizeM) { _controllerSize = controllerSize; _inputSize = inputSize; _headCount = headCount; _memoryUnitSizeM = memoryUnitSizeM; _activationFunction = new SigmoidActivationFunction(); _readDataToHiddenLayerWeights = UnitFactory.GetTensor3(controllerSize, headCount, memoryUnitSizeM); _inputToHiddenLayerWeights = UnitFactory.GetTensor2(controllerSize, inputSize); _hiddenLayerThresholds = UnitFactory.GetVector(controllerSize); }