Ejemplo n.º 1
0
        public GruLayer(int xSize, int hSize,
                        IMatrixInitializer <T> linearWeightInitializer,
                        IMatrixInitializer <T> hiddenWeightInitializer,
                        IMatrixInitializer <T> biasInitializer)
        {
            _hSize = hSize;

            _wxh = new NeuroWeight <T>(linearWeightInitializer.CreateMatrix(hSize, xSize));
            _wxr = new NeuroWeight <T>(linearWeightInitializer.CreateMatrix(hSize, xSize));
            _wxz = new NeuroWeight <T>(linearWeightInitializer.CreateMatrix(hSize, xSize));

            _whh = new NeuroWeight <T>(hiddenWeightInitializer.CreateMatrix(hSize, hSize));
            _whr = new NeuroWeight <T>(hiddenWeightInitializer.CreateMatrix(hSize, hSize));
            _whz = new NeuroWeight <T>(hiddenWeightInitializer.CreateMatrix(hSize, hSize));

            _bxh = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));
            _bxr = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));
            _bxz = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));

            _bhh = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));
            _bhr = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));
            _bhz = new NeuroWeight <T>(biasInitializer.CreateMatrix(hSize, 1));

            ResetOptimizer();

            ErrorFunction = new MeanSquareError <T>();

            RegisterWeights();
        }
Ejemplo n.º 2
0
        public LinearLayer(int xSize, int ySize, IMatrixInitializer <T> matrixInitializer)
        {
            _weights = new NeuroWeight <T>(matrixInitializer.CreateMatrix(ySize, xSize));
            _bias    = new NeuroWeight <T>(matrixInitializer.CreateMatrix(ySize, 1));

            ErrorFunction = new MeanSquareError <T>();

            RegisterWeights(_bias, _weights);
        }