예제 #1
0
        private static Function ConvolutionWithActivation(Variable features, DeviceDescriptor device,
                                                          ConvolutionConfigurationModel configuration)
        {
            var convFunction = Convolution(features, device, configuration);
            var convWithActivationFunction =
                BuilderHelper.GetActivationFunction(configuration.ActivationFunction, convFunction);

            return(convWithActivationFunction);
        }
예제 #2
0
        private static Function Convolution(Variable features, DeviceDescriptor device,
                                            ConvolutionConfigurationModel configuration)
        {
            // parameter initialization hyper parameter
            const double convWScale = 0.26;
            var          convParams = new Parameter(new[]
            {
                configuration.KernelHeight, configuration.KernelWidth,
                configuration.InputChannelsCount, configuration.OutFeatureMapCount
            },
                                                    DataType.Float,
                                                    CNTKLib.GlorotUniformInitializer(convWScale, -1, 2), device);
            var strides      = new[] { 1, 1, configuration.InputChannelsCount };
            var convFunction = CNTKLib.Convolution(convParams, features, strides);

            return(convFunction);
        }