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); }
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); }