public void SetData(float[] data, float noiseMean = 0f, float noiseStdDev = 0f) { if (this.OutputsCPU.Length != data.Length) { throw new ArgumentException(); } Outputs.CPUArray = data; Outputs.CopyToGpu(); if (noiseStdDev != 0f) { var arr = GetArray(ArrayName.Noise); _gpuModule.Rand.GenerateNormal(arr.GPUArray, noiseMean, noiseStdDev, n: arr.Length); _gpuModule.Blas.Blas.AXPY(1f, arr.GPUArray, Outputs.GPUArray); } }