Esempio n. 1
0
        public void Update(NnGpuWin nnGpuWinInstance, int layerIndex)
        {
            NnGpuLayerDataGroup laterDataGroup = nnGpuWinInstance.GetLayerData(layerIndex);

            ImageContainer.Children.Clear();
            BackwardImageContainer.Children.Clear();

            NnGpuLayerData forward     = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward);
            BitmapSource   imageSource = forward.ToDepthImage();
            Image          image       = new Image();

            image.Width   = 25 * forward.depth;
            image.Height  = 25;
            image.Stretch = Stretch.Fill;
            image.Source  = imageSource;

            ImageContainer.Children.Add(image);


            NnGpuLayerData backward            = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Backward);
            BitmapSource   backwardImageSource = backward.ToDepthImage();
            Image          backwardImage       = new Image();

            backwardImage.Width   = 25 * backward.depth;
            backwardImage.Height  = 25;
            backwardImage.Stretch = Stretch.Fill;
            backwardImage.Source  = backwardImageSource;

            BackwardImageContainer.Children.Add(backwardImage);
        }
        public object MarshalNativeToManaged(IntPtr obj)
        {
            NnGpuLayerDataGroup layerDataGroup = new NnGpuLayerDataGroup();

            layerDataGroup.count = Marshal.ReadInt32(obj);
            obj += 4;
            layerDataGroup.type      = (NnGpuLayerType)Marshal.ReadInt32(obj);
            layerDataGroup.layerData = new NnGpuLayerData[layerDataGroup.count];

            obj += 4;
            for (int index = 0; index < layerDataGroup.count; index++)
            {
                NnGpuLayerData layerData = new NnGpuLayerData();
                layerData.type   = (NnGpuLayerDataType)Marshal.ReadInt32(obj);
                obj             += 4;
                layerData.width  = Marshal.ReadInt32(obj);
                obj             += 4;
                layerData.height = Marshal.ReadInt32(obj);
                obj             += 4;
                layerData.depth  = Marshal.ReadInt32(obj);
                obj             += 4;
                double[] data = new double[layerData.width * layerData.height * layerData.depth];
                Marshal.Copy(obj, data, 0, layerData.width * layerData.height * layerData.depth);
                layerData.data = data;

                layerDataGroup.layerData[index] = layerData;

                obj += layerData.width * layerData.height * layerData.depth * 8;
            }

            return(layerDataGroup);
        }
Esempio n. 3
0
        public void Update(NnGpuWin nnGpuWinInstance, int layerIndex)
        {
            NnGpuLayerDataGroup laterDataGroup = nnGpuWinInstance.GetLayerData(layerIndex);

            NnGpuLayerData layerData = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward);
            BitmapSource   image     = layerData.ToImage();

            layerInputImg.Source = image;
        }
        public void Update(NnGpuWin nnGpuWinInstance, int layerIndex)
        {
            uint   averageTimeMs = 0;
            double averageBytes  = 0;

            nnGpuWinInstance.GetLayerPerformanceData(layerIndex, out averageTimeMs, out averageBytes);

            NnGpuLayerDataGroup laterDataGroup = nnGpuWinInstance.GetLayerData(layerIndex);

            BackwardSum = "Sum: " + laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Backward).Sum();
            ForwardSum  = "Sum: " + laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).Sum();

            double largest  = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).GetLargestDataValue();
            double smallest = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).GetSmallestDataValue();

            ImageContainer.Children.Clear();
            BackwardImageContainer.Children.Clear();

            NnGpuLayerData forward     = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward);
            BitmapSource   imageSource = forward.ToImage();
            Image          image       = new Image();

            //image.Width = 25 * forward.depth;
            image.Height  = 25;
            image.Stretch = Stretch.Fill;
            image.Source  = imageSource;

            ImageContainer.Children.Add(image);


            NnGpuLayerData backward            = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Backward);
            BitmapSource   backwardImageSource = backward.ToDepthImage();
            Image          backwardImage       = new Image();

            backwardImage.Width   = 25 * backward.depth;
            backwardImage.Height  = 25;
            backwardImage.Stretch = Stretch.Fill;
            backwardImage.Source  = backwardImageSource;

            BackwardImageContainer.Children.Add(backwardImage);
        }
Esempio n. 5
0
        public void Update(NnGpuWin nnGpuWinInstance, int layerIndex)
        {
            uint   averageTimeMs = 0;
            double averageBytes  = 0;

            nnGpuWinInstance.GetLayerPerformanceData(layerIndex, out averageTimeMs, out averageBytes);

            Performance timer = new Performance();

            timer.Start();

            NnGpuLayerDataGroup laterDataGroup = nnGpuWinInstance.GetLayerData(layerIndex);

            double largest  = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).GetLargestDataValue();
            double smallest = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).GetSmallestDataValue();

            BackwardSum = "Sum: " + laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Backward).Sum();
            ForwardSum  = "Sum: " + laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward).Sum();

            ImageContainer.Children.Clear();
            FilterImageContainer.Children.Clear();
            BackwardsImageContainer.Children.Clear();

            NnGpuLayerData forward     = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Forward);
            BitmapSource   imageSource = forward.ToDepthImage();
            Image          image       = new Image();

            image.Width   = 25 * forward.depth;
            image.Height  = 25;
            image.Stretch = Stretch.Fill;
            image.Source  = imageSource;

            ImageContainer.Children.Add(image);


            NnGpuLayerData backward             = laterDataGroup.GetLayerOfType(NnGpuLayerDataType.Backward);
            BitmapSource   backwardsImageSource = backward.ToDepthImage();
            Image          backwardsImage       = new Image();

            if (backward.depth == 1)
            {
                backwardsImage.Width = backward.width;
            }
            else
            {
                backwardsImage.Width = 25 * backward.depth;
            }
            backwardsImage.Height  = 25;
            backwardsImage.Stretch = Stretch.Fill;
            backwardsImage.Source  = backwardsImageSource;

            BackwardsImageContainer.Children.Add(backwardsImage);


            NnGpuLayerData[] filterLayers = laterDataGroup.GetLayersOfType(NnGpuLayerDataType.ConvForwardFilter);
            for (int filterIndex = 0; filterIndex < filterLayers.Length; filterIndex++)
            {
                Image filterImage = new Image();
                filterImage.Width   = 25;
                filterImage.Height  = 25;
                filterImage.Stretch = Stretch.Fill;
                filterImage.Source  = filterLayers[filterIndex].ToImage();
                FilterImageContainer.Children.Add(filterImage);
            }
            long ms = timer.Stop();
        }