Почему метод ReadFromEnumerable не работает? ML.NET
Я пытаюсь воссоздать следующий образец https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/SsaSpikeDetectorTransform.cs но постоянно получаю сообщение об ошибке, что DataOperations не делает t содержит определение для метода ReadFromEnumerable. Я также получаю сообщение об ошибке, что метод CreateEnumerable не существует, но я подозреваю, что он связан с ошибкой ReadFromEnumerable.
Я скопировал все пространства имен и код на случай, если я что-то упустил, но ошибка все равно возникает.
Чтение из перечислимого метода
var ml = new MLContext();
//Generate sample series data with a recurring pattern and a spike within the pattern
const int SeasonalitySize = 5;
const int TrainingSeasons = 3;
const int TrainingSize = SeasonalitySize * TrainingSeasons;
var data = new List<SsaSpikeData>();
for (int i = 0; i < TrainingSeasons; i++)
for (int j = 0; j < SeasonalitySize; j++)
data.Add(new SsaSpikeData(j));
//This is a spike
data.Add(new SsaSpikeData(100));
for (int i = 0; i < SeasonalitySize; i++)
data.Add(new SsaSpikeData(i));
// Convert data to IDataView.
var dataView = ml.Data.ReadFromEnumerable(data); //This is where the error occurs
CreateEnumerable Метод
var predictionColumn = ml.CreateEnumerable<SsaSpikePrediction>(transformedData, reuseRowObject: false);
1 ответ
Как сказал Длатикай, это было несовпадение версий. Пример, который я предоставил, взят из версии, которая все еще находится в предварительном просмотре. Для ML.NET 0.9.0 и более ранних версий вам необходимо использовать CreateStreamingDataView. Для работы ReadFromEnumerable и CreateEnumerable вы можете загрузить предварительные пакеты ML.NET 0.10.0 и 0.11.0 отсюда https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.ML/0.11.0-preview-27404-5