You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
e06d7363 with big datasets: "The process was terminated due to an unhandled exception." #6679
System Information (please complete the following information):
OS & Version: Windows Server 2019 & Ubuntu 22.04
ML.NET Version: Daily / nightly build
.NET Version: 7.0
Question
For FastTree.DiskTranspose: how much free disk space is needed? I have plenty, but perhaps I did not have for full copy of the dataset if it is needed.
Describe the bug
I am training a big dataset, 450 GB as binary IDV file, maybe about 2TB as uncompressed CSV. Smaller datasets (~10-20GB) work fine.
LightGBM and FastTree with DiskTranspose are able to run wihtout exception, but at some point "unhandled exception" occurs. I have try...catch around contents of main() to print the error. Nothing shows up in console. Many other trainers give OOM.
Ubuntu 22.04, 128 GB RAM, 650 GB swap
Windows 2019, 220 GB RAM, total of 2.8 TB paging files
From Windows Logs / Application I can see these 2 errors
Application: Kwork.MLTrainer2023.exe
CoreCLR Version: 7.0.523.17405
.NET Version: 7.0.5
Description: The process was terminated due to an unhandled exception.
Exception Info: exception code e06d7363, exception address 00007FFB2A0049B9
Application: Kwork.MLTrainer2023.exe CoreCLR Version: 7.0.523.17405 .NET
Version: 7.0.5 Description: The process was terminated due to an unhandled
exception. Exception Info: exception code e06d7363, exception address
00007FFB2A0049B9
Temporary workaround: use smaller dataset. Something like this: TrainTestData dataSplit = mlContext.Data.TrainTestSplit(data, testFraction: 0.2);
For some reason, I was unable to run FilterByCustomPredicate. Here is the draft as it will allow more flexibility for sampling but it probably has some bug:
int takeNth = 4;
Random r = new Random();
if (takeNth > 0)
{
// Filter every nth row
var filteredData = mlContext.Data.FilterByCustomPredicate<dynamic>(dataView, x => r.Next(takeNth) != 0);
dataView = filteredData;
}
Smaller dataset is not the same, but at least it should be representative of the full dataset. I have not checked the research but my intuition says huge datasets (1+ TB) might not have too much benefit for non-NN algorithms, such as in Microsoft.ML library. At least the if the feature count is in the thousands or less. This is just my intuitive feeling.
changed the title [-]"The process was terminated due to an unhandled exception."[/-][+]e06d7363 with big datasets: "The process was terminated due to an unhandled exception."[/+]on May 17, 2023
Yeah, worst case scenario you will need enough disk space to store the full file. Not sure though if it stores it as the compressed binary version or plain text.
I'll close this issue, but I have added your duplication issue to our backlog.
Activity
torronen commentedon May 17, 2023
Temporary workaround: use smaller dataset. Something like this:
TrainTestData dataSplit = mlContext.Data.TrainTestSplit(data, testFraction: 0.2);For some reason, I was unable to run FilterByCustomPredicate. Here is the draft as it will allow more flexibility for sampling but it probably has some bug:
Smaller dataset is not the same, but at least it should be representative of the full dataset. I have not checked the research but my intuition says huge datasets (1+ TB) might not have too much benefit for non-NN algorithms, such as in Microsoft.ML library. At least the if the feature count is in the thousands or less. This is just my intuitive feeling.
[-]"The process was terminated due to an unhandled exception."[/-][+]e06d7363 with big datasets: "The process was terminated due to an unhandled exception."[/+]michaelgsharp commentedon Jan 24, 2024
Yeah, worst case scenario you will need enough disk space to store the full file. Not sure though if it stores it as the compressed binary version or plain text.
I'll close this issue, but I have added your duplication issue to our backlog.