Beispiel #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   For later adding Activation </summary>
        ///
        /// <param name="activation">   The activation. </param>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public void SetActivation([CanBeNull] CompressibleActivationLayer activation)
        {
            Activator = activation;

            if (Activator != null)
            {
                foreach (var activationParameter in _activationParameters)
                {
                    KernelString = KernelString?.Replace(activationParameter.Key, activationParameter.Value);
                }
            }


            CreateKernel();
        }
Beispiel #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// Initializes a new instance of the KelpNet.Common.Functions.CompressibleFunction class.
        /// </summary>
        ///
        /// <param name="functionName">         Name of the function. </param>
        /// <param name="activation">           (Optional) The activation. </param>
        /// <param name="activationParameters"> (Optional) Options for controlling the activation. </param>
        /// <param name="name">                 (Optional) The name. </param>
        /// <param name="inputNames">           (Optional) List of names of the inputs. </param>
        /// <param name="outputNames">          (Optional) List of names of the outputs. </param>
        /// <param name="gpuEnable">            (Optional) True if GPU enable. </param>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        protected CompressibleLayer(bool verbose, [NotNull] string functionName, [CanBeNull] CompressibleActivationLayer activation = null, [CanBeNull] KeyValuePair <string, string>[] activationParameters = null, [CanBeNull] string name = FUNCTION_NAME, [CanBeNull] string[] inputNames = null, [CanBeNull] string[] outputNames = null, bool gpuEnable = false) : base(name, inputNames, outputNames)
        {
            Verbose = verbose;
            string kernelNameBase = functionName.Replace(" ", string.Empty);

            ForwardKernelName    = kernelNameBase + string.Intern("Forward");
            BackwardgWKernelName = kernelNameBase + string.Intern("gWBackward");
            BackwardgXKernelName = kernelNameBase + string.Intern("gXBackward");

            KernelString = Weaver.GetKernelSource(functionName);

            _activationParameters = activationParameters;

            SetActivation(activation);

            SetGpuEnable(gpuEnable);
        }