コード例 #1
0
        private TestDataSet GetRandomData(int batchCount, Func <int> getIndexFunc)
        {
            TestDataSet result = new TestDataSet(new NdArray(Shape, batchCount), new NdArray(new[] { 1 }, batchCount));

            for (int i = 0; i < batchCount; i++)
            {
                int index = getIndexFunc();

                Real[] labeledData = Get(index);
                Array.Copy(labeledData, 0, result.Data.Data, i * result.Data.Length, result.Data.Length);

                result.Label.Data[i] = DataLabel[index];
            }

            return(result);
        }
コード例 #2
0
        //全データを読み込む
        public TestDataSet <T> GetAllDataSet()
        {
            int batchCount = Data.Length;

            T[] data = new T[NdArray.ShapeToLength(Shape) * Data.Length];

            for (int i = 0; i < batchCount; i++)
            {
                T[] labeledData = Get(i);
                Array.Copy(labeledData, 0, data, i * labeledData.Length, labeledData.Length);
            }

            TestDataSet <T> result = new TestDataSet <T>(NdArray.Convert(data, Shape, batchCount), NdArray.Convert(DataLabel, new[] { 1 }, batchCount));

            return(result);
        }
コード例 #3
0
ファイル: LabeledDataSet.cs プロジェクト: ziichuan/KelpNet
        private TestDataSet <T> GetRandomData(int batchCount, Func <int> getIndexFunc)
        {
            T[]   data  = new T[NdArray.ShapeToLength(Shape) * batchCount];
            int[] label = new int[batchCount];

            for (int i = 0; i < batchCount; i++)
            {
                int index = getIndexFunc();

                T[] labeledData = Get(index);
                Array.Copy(labeledData, 0, data, i * labeledData.Length, labeledData.Length);

                label[i] = DataLabel[index];
            }

            TestDataSet <T> result = new TestDataSet <T>(NdArray.Convert(data, Shape, batchCount), NdArray.Convert(label, new[] { 1 }, batchCount));

            return(result);
        }
コード例 #4
0
ファイル: Trainer.cs プロジェクト: ohisama/KelpNet
 public static double Accuracy(FunctionStack functionStack, TestDataSet dataSet)
 {
     return(Accuracy(functionStack, dataSet.Data, dataSet.Label));
 }
コード例 #5
0
ファイル: Trainer.cs プロジェクト: ohisama/KelpNet
 public static Real Train(FunctionStack functionStack, TestDataSet dataSet, LossFunction lossFunction, bool isUpdate = true)
 {
     return(Train(functionStack, dataSet.Data, dataSet.Label, lossFunction, isUpdate));
 }
コード例 #6
0
 public static T Accuracy <T>(FunctionStack <T> functionStack, TestDataSet <T> dataSet, LossFunction <T, int> lossFunction, out T loss) where T : unmanaged, IComparable <T>
 {
     return(Accuracy(functionStack, dataSet.Data, dataSet.Label, lossFunction, out loss));
 }
コード例 #7
0
 public static T Accuracy <T>(FunctionStack <T> functionStack, TestDataSet <T> dataSet) where T : unmanaged, IComparable <T>
 {
     return(Accuracy(functionStack, dataSet.Data, dataSet.Label));
 }
コード例 #8
0
 public static T Train <T>(FunctionStack <T> functionStack, TestDataSet <T> dataSet, LossFunction <T, int> lossFunction, Optimizer <T> optimizer = null) where T : unmanaged, IComparable <T>
 {
     return(Train(functionStack, dataSet.Data, dataSet.Label, lossFunction, optimizer));
 }