Beispiel #1
0
        public override void Forward(Tensor x)
        {
            base.Forward(x);

            Parameter weight = BuildParam("w", new long[] { x.Shape[1], Dim }, x.ElementType, KernalInitializer, KernalConstraint, KernalRegularizer);
            Parameter bias   = null;

            Output = K.Dot(x, weight.Data);

            if (UseBias)
            {
                bias   = BuildParam("b", new long[] { 1, Dim }, x.ElementType, BiasInitializer, BiasConstraint, BiasRegularizer);
                Output = Output + bias.Data;
            }

            if (Act != null)
            {
                Act.Forward(Output);
                Output = Act.Output;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Forwards the inputs and compute the output
        /// </summary>
        /// <param name="x">The input SuperArray for this layer.</param>
        public override void Forward(SuperArray x)
        {
            base.Forward(x);

            Parameter weight = BuildParam("w", new Shape(x.Shape[1], Dim), KernelInitializer, KernelConstraint, KernelRegularizer);
            Parameter bias   = null;

            Output = Ops.Dot(x, weight.Data);

            if (UseBias)
            {
                bias   = BuildParam("b", new Shape(1, Dim), BiasInitializer, BiasConstraint, BiasRegularizer);
                Output = Output + bias.Data;
            }

            if (Act != null)
            {
                Act.Forward(Output);
                Output = Act.Output;
            }
        }