public Data(ShapedArray <double> inputs, ShapedArray <double> targets) { Inputs = inputs; Targets = targets; InputShape = inputs.Shape; TargetShape = targets.Shape; }
public ShapedArray <double> Predict(ShapedArray <double> inputs) { if (inputs.Shape != InputShape) { throw new ShapeMismatchException(nameof(inputs)); } Forward(inputs, false); return(GetOutput()); }
protected abstract void CalcGrads(ILoss loss, ShapedArray <double> targets);
protected abstract void Forward(ShapedArray <double> inputs, bool isTraining);
public ShapedArray <T> ToShape(Shape shape) { return(ShapedArray <T> .FromRef(shape, internalArray)); }