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