internal void Initialize( LearningRule rule, ValueSpace<double> valueSpace, InputValueIndexes[] inputValueIndexes, OutputValueIndexes[] outputValueIndexes) { Contract.Requires(rule != null); Contract.Requires(valueSpace != null); Contract.Requires(inputValueIndexes != null); Contract.Requires(outputValueIndexes != null); Contract.Requires(inputValueIndexes.Length == outputValueIndexes.Length); Rule = rule; ValueSpace = valueSpace; this.inputValueIndexes = inputValueIndexes; this.outputValueIndexes = outputValueIndexes; ValueCount = inputValueIndexes.Length; InitializeNewRun(true); }
unsafe protected virtual void InitializeNewRun(double* values, InputValueIndexes* inputValueIndexes, OutputValueIndexes* outputValueIndexes) { }
unsafe protected virtual void BackwardIteration(bool isBatchIteration, double* values, InputValueIndexes* inputValueIndexes, OutputValueIndexes* outputValueIndexes) { }