MulticlassClassificationExperiment не завершается в maxExperimentTimeInSeconds - PullRequest
0 голосов
/ 09 июля 2020

Кажется, что этот код не завершается после 90 секунд работы, как я ожидал:

// Got Help from the following people and places
// Jon Wood: GitHub and StackOverflow
// https://github.com/jwood803/MLNetExamples/tree/master/MLNetExamples/AutoML
// https://stackoverflow.com/questions/62440229/where-to-specify-time-to-train-in-ml-net/62450654#62450654
// 
// Numerous Contributors: Microsoft Docs
// https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/github-issue-classification
using MulticlassMicrosoftTutorial;
using System;
using Microsoft.ML;
using Microsoft.ML.AutoML;

namespace AutoMLMultiClass
{
    class Program
    {
        static void Main(string[] args)
        {
            const uint c_maxExperimentTimeInSeconds = 90;
            var context = new MLContext();

            IDataView trainDataView =
                context.Data.LoadFromTextFile<GitHubIssue>(
                    path: "..\\..\\..\\Data\\issues_train.tsv",
                    hasHeader: true
                );

            var experiment = 
                context.Auto().CreateMulticlassClassificationExperiment(c_maxExperimentTimeInSeconds);

            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();
            var result = experiment.Execute(trainDataView, "Area");
            sw.Stop();

            Console.WriteLine("Expected Training Time = " + c_maxExperimentTimeInSeconds);
            Console.WriteLine("Actual Training Time = " + sw.ElapsedMilliseconds / 1000.0);            
        }
    }
}

Вместо этого он работает примерно пять минут на двух разных машинах. Одна машина - Windows 10 версии 1809, а другая - Windows Server 2012R2.

Есть ли способ остановить ее на 90 секундах?

ПРИМЕЧАНИЕ:

  1. Похоже, у меня нет проблем с maxExperimentTimeInSeconds при запуске эксперимента по регрессии AutoML. Такое странное поведение, кажется, происходит только для экспериментов по многоклассовой классификации.
  2. Я использую VS2019 и Microsoft.ML.AutoML 0.17.0
  3. Код был скомпонован из образцов, полученных от Джона Вуда и другие лидеры отрасли по URL-адресам, указанным в исходном коде
...