예제 #1
0
        public OutputLayer Clone()
        {
            Unit[] outputLayer = UnitFactory.GetVector(_outputSize);
            Head[] heads       = Head.GetVector(_headCount, i => _memoryUnitSizeM);

            return(new OutputLayer(_hiddenToOutputLayerWeights, _hiddenToHeadsWeights, outputLayer, heads, _headCount, _outputSize, _controllerSize, _memoryUnitSizeM, _headUnitSize));
        }
예제 #2
0
        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);
        }
예제 #3
0
 public HiddenLayer Clone()
 {
     return(new HiddenLayer(_readDataToHiddenLayerWeights, _inputToHiddenLayerWeights,
                            _hiddenLayerThresholds, UnitFactory.GetVector(_controllerSize),
                            _controllerSize, _inputSize, _headCount, _memoryUnitSizeM, _activationFunction));
 }