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); }
//全データを読み込む 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); }
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); }
public static double Accuracy(FunctionStack functionStack, TestDataSet dataSet) { return(Accuracy(functionStack, dataSet.Data, dataSet.Label)); }
public static Real Train(FunctionStack functionStack, TestDataSet dataSet, LossFunction lossFunction, bool isUpdate = true) { return(Train(functionStack, dataSet.Data, dataSet.Label, lossFunction, isUpdate)); }
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)); }
public static T Accuracy <T>(FunctionStack <T> functionStack, TestDataSet <T> dataSet) where T : unmanaged, IComparable <T> { return(Accuracy(functionStack, dataSet.Data, dataSet.Label)); }
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)); }