Преобразование консольного приложения в ошибку приложения UWP ML.NET
Я пытаюсь преобразовать приложение ML.NET из win-консоли в UWP и не загружаю файлы в свой конвейер ML. Я получаю ошибку File Not Found.
вот мой код:
public static double ProcessDataBtn_Click(float tempOPS)
{
double rpg = 0;
var dataset = GetDataPathByDatasetName("OPSData.csv");
var testDataset = GetDataPathByDatasetName("OPSData-test.csv");
var pipeline = new LearningPipeline
{
new TextLoader(dataset).CreateFrom<OPSData>(useHeader: true, separator: ','),
new ColumnConcatenator("Features", "OPS"),
new GeneralizedAdditiveModelRegressor()
};
var model = pipeline.Train<OPSData, OPSPrediction>();
model.WriteAsync(GetModelFilePath("model.zip"));
Вот код получения файла:
public static string GetDataPathByDatasetName(string datasetName)
{
var appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs().First());
var parentDir = Directory.GetParent(appPath).Parent.Parent.Parent.Parent;
var datasetPath = Path.Combine(parentDir.FullName, "datasets", datasetName);
return datasetPath;
}
public static string GetModelFilePath(string fileName)
{
var appPath = Path.GetDirectoryName(Environment.GetCommandLineArgs().First());
var parentDir = Directory.GetParent(appPath).Parent.Parent.Parent.Parent;
var fileDir = Path.Combine(parentDir.FullName, "models");
if (!Directory.Exists(fileDir))
{
Directory.CreateDirectory(fileDir);
}
var filePath = Path.Combine(parentDir.FullName, "models", fileName);
return filePath;
}
И вот мои объекты.
public class OPSData
{
[Column("0")]
public float OPS;
[Column("1", name: "Label")]
public float RunsPerGame;
}
public class OPSPrediction
{
[ColumnName("Score")]
public float PredictedRPG;
}
Я получаю сообщение об ошибке в следующей строке:
var model = pipe.Train();
1 ответ
Не тот ответ, на который вы надеялись, но это известная ошибка в новых версиях ML.NET: https://github.com/dotnet/corefx/issues/33434
В качестве обходного пути для этой ошибки вам придется остаться с версией 0.6.0, пока эта проблема не будет устранена.
К сожалению, есть другая ошибка, с которой вы, вероятно, столкнетесь, если попытаетесь выпустить приложение через Microsoft Store: https://github.com/dotnet/machinelearning/issues/1736 (вы увидите ошибку в сборках выпуска, а не в отладочных сборках)