コード例 #1
0
ファイル: Helper.cs プロジェクト: wjfeima/CNTK
        AsUnorderedMapStreamInformationPairNDArrayViewPtrNDArrayViewPtr(
            IDictionary <StreamInformation, Tuple <NDArrayView, NDArrayView> > input)
        {
            UnorderedMapStreamInformationPairNDArrayViewPtrNDArrayViewPtr inputVector = new UnorderedMapStreamInformationPairNDArrayViewPtrNDArrayViewPtr();

            foreach (var element in input)
            {
                inputVector.Add(element.Key, new PairNDArrayViewPtrNDArrayViewPtr(element.Value.Item1, element.Value.Item2));
            }
            return(inputVector);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="minibatchSource"></param>
        /// <param name="computedMeanAndVariances"></param>
        /// <param name="device"></param>
        public static void ComputeInputPerDimMeansAndInvStdDevs(MinibatchSource minibatchSource,
                                                                IDictionary <StreamInformation, Tuple <NDArrayView, NDArrayView> > computedMeanAndVariances,
                                                                DeviceDescriptor device)
        {
            UnorderedMapStreamInformationPairNDArrayViewPtrNDArrayViewPtr mapStreamInfoToNDArrayPair =
                Helper.AsUnorderedMapStreamInformationPairNDArrayViewPtrNDArrayViewPtr(computedMeanAndVariances);

            CNTKLib.ComputeInputPerDimMeansAndInvStdDevs(minibatchSource, mapStreamInfoToNDArrayPair, device);

            foreach (StreamInformation s in computedMeanAndVariances.Keys.ToList())
            {
                computedMeanAndVariances[s] = new Tuple <NDArrayView, NDArrayView>(mapStreamInfoToNDArrayPair[s].first, mapStreamInfoToNDArrayPair[s].second);
            }
        }