public static async Task <ITrainingDataset> GetTrainingDatasetAsync(int size, Cifar100ClassificationMode mode = Cifar100ClassificationMode.Fine, CancellationToken token = default) { IReadOnlyDictionary <String, Func <Stream> > map = await DatasetsDownloader.GetArchiveAsync(DatasetURL, token); if (map == null) { return(null); } IReadOnlyList <(float[], float[])>[] data = new IReadOnlyList <(float[], float[])> [TrainingBinFilenames.Count];
public static async Task <ITrainingDataset> GetTrainingDatasetAsync(int size, [CanBeNull] IProgress <HttpProgress> callback = null, CancellationToken token = default) { IReadOnlyDictionary <string, Func <Stream> > map = await DatasetsDownloader.GetArchiveAsync(DatasetURL, callback, token); if (map == null) { return(null); } IReadOnlyList <(float[], float[])>[] data = new IReadOnlyList <(float[], float[])> [TrainingBinFilenames.Count];
public static async Task <ITrainingDataset> GetTrainingDatasetAsync(int size, Cifar100ClassificationMode mode = Cifar100ClassificationMode.Fine, [CanBeNull] IProgress <HttpProgress> callback = null, CancellationToken token = default) { IReadOnlyDictionary <String, Func <Stream> > map = await DatasetsDownloader.GetArchiveAsync(DatasetURL, callback, token); if (map == null) { return(null); } IReadOnlyList <(float[], float[])> data = ParseSamples(map[TrainingBinFilename], TrainingSamplesInBinFile, mode); return(DatasetLoader.Training(data, size)); }
public static async Task <bool> ExportDatasetAsync([NotNull] DirectoryInfo directory, CancellationToken token = default) { IReadOnlyDictionary <String, Func <Stream> > map = await DatasetsDownloader.GetArchiveAsync(DatasetURL, null, token); if (map == null) { return(false); } if (!directory.Exists) { directory.Create(); } ParallelLoopResult result = Parallel.ForEach(new (String Name, int Count)[]
public static async Task <ITestDataset> GetTestDatasetAsync([CanBeNull] Action <TrainingProgressEventArgs> progress = null, CancellationToken token = default) { Func <Stream>[] factories = await Task.WhenAll( DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TestSetValuesFilename}", null, token), DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TestSetLabelsFilename}", null, token)); if (factories.Any(s => s == null)) { return(null); } (float[,] X, float[,] Y)data = ParseSamples((factories[0], factories[1]), TestSamples); return(data.X == null || data.Y == null ? null : DatasetLoader.Test(data, progress)); }
public static async Task <ITrainingDataset> GetTrainingDatasetAsync(int size, CancellationToken token = default) { Func <Stream>[] factories = await Task.WhenAll( DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TrainingSetValuesFilename}", null, token), DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TrainingSetLabelsFilename}", null, token)); if (factories.Any(s => s == null)) { return(null); } (float[,] X, float[,] Y)data = ParseSamples((factories[0], factories[1]), TrainingSamples); return(data.X == null || data.Y == null ? null : DatasetLoader.Training(data, size)); }
public static async Task <bool> ExportDatasetAsync([NotNull] DirectoryInfo directory, CancellationToken token = default) { Func <Stream>[] factories = await Task.WhenAll( DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TrainingSetValuesFilename}", null, token), DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TrainingSetLabelsFilename}", null, token), DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TestSetValuesFilename}", null, token), DatasetsDownloader.GetFileAsync($"{MnistHttpRootPath}{TestSetLabelsFilename}", null, token)); if (factories.Any(s => s == null) || token.IsCancellationRequested) { return(false); } if (!directory.Exists) { directory.Create(); } ParallelLoopResult result = Parallel.ForEach(new (string Name, Func <Stream> X, Func <Stream> Y, int Count)[]