public override void Initialize(Shape inputShape) { base.Initialize(inputShape); ParametersStorage.Weights = Builder.OfShape(new Shape(FiltersCount, inputShape[1], KernelSize, KernelSize)); _initializer.InitWeights(this); OutputShape = Tensor.GetConvolutionalShape(inputShape, ParametersStorage.Weights.Storage.Shape, Stride, 0); ParametersStorage.Gradients = Builder.OfShape(ParametersStorage.Weights.Storage.Shape); InitializeBuffers(); }
public override void Initialize(Shape inputShape) { base.Initialize(inputShape); ParametersStorage.Weights = Builder.OfShape(new Shape(1, 1, inputShape[3], NeuronsCount)); _initializer.InitWeights(this); ParametersStorage.Gradients = Builder.OfShape(new Shape(1, 1, inputShape[3], NeuronsCount)); OutputShape = new Shape(inputShape[0], 1, 1, NeuronsCount); _transBufferDx = Builder.Empty(); _transBufferDw = Builder.Empty(); }