将控制台应用程序转换为 UWP 应用程序错误 ML.NET
Convert Console app to UWP app error ML.NET
我正在尝试将 ML.NET 应用程序从 win 控制台转换为 UWP,但我没有将文件加载到我的 ML 管道中。我收到“找不到文件”错误。
这是我的代码:
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 = pipeline.Train();
不是您希望得到的答案,但这是 ML.NET 较新版本的一个已知错误:
https://github.com/dotnet/corefx/issues/33434
作为此错误的解决方法,在解决此问题之前,您必须暂时使用 0.6.0 版。
不幸的是,如果您尝试通过 Microsoft Store 发布应用程序,您可能会遇到另一个错误:https://github.com/dotnet/machinelearning/issues/1736(您将在发布版本中看到该错误,而不是在调试版本中)
我正在尝试将 ML.NET 应用程序从 win 控制台转换为 UWP,但我没有将文件加载到我的 ML 管道中。我收到“找不到文件”错误。
这是我的代码:
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 = pipeline.Train();
不是您希望得到的答案,但这是 ML.NET 较新版本的一个已知错误: https://github.com/dotnet/corefx/issues/33434
作为此错误的解决方法,在解决此问题之前,您必须暂时使用 0.6.0 版。
不幸的是,如果您尝试通过 Microsoft Store 发布应用程序,您可能会遇到另一个错误:https://github.com/dotnet/machinelearning/issues/1736(您将在发布版本中看到该错误,而不是在调试版本中)