Пример #1
0
        public override JobHandle BackpropigateLayer(EvaluatorLayer currentLayerState, EvaluatorLayer nextLayerState, int count, JobHandle jobHandleToWaitOn)
        {
            var backPropigateLayerJob = new LinearLayerErrorEvaluator()
            {
                NextLayerWeights   = nextLayerState.ModelLayer.Weights,
                NextLayerError     = nextLayerState.SliceError(0, count),
                WeightedActivation = currentLayerState.SliceWeightedInputs(0, count),
                ErrorOutput        = currentLayerState.SliceError(0, count)
            };

            return(backPropigateLayerJob.Schedule(currentLayerState.Error.Dimensions.y, 4, jobHandleToWaitOn));
        }
Пример #2
0
        public override JobHandle EvaluateLayer(EvaluatorLayer lastLayerState, EvaluatorLayer currentLayerState, int count, JobHandle jobHandleToWaitOn)
        {
            var layerEvaluatorJob = new LinearNeuronEvaluator()
            {
                SourceActivation    = lastLayerState.SliceActivations(0, count),
                LayerWeightedInputs = currentLayerState.SliceWeightedInputs(0, count),
                LayerActivation     = currentLayerState.SliceActivations(0, count),

                Weights = Weights,
                Biases  = Biases
            };

            return(layerEvaluatorJob.Schedule(currentLayerState.OutputActivation.Dimensions.y, 4, jobHandleToWaitOn));
        }