PredictionIO - 构建和 运行 评估指标时出错
PredictionIO - getting error when build and run Evaluation metrics
我遵循了这个快速入门:
https://docs.prediction.io/templates/classification/quickstart/
以及这份评估指标文档
https://docs.prediction.io/evaluation/paramtuning/
在构建步骤和 运行 评估指标之前一切似乎都正常
pio 评估org.template.classification.AccuracyEvaluation\
org.template.classification.EngineParamsList
我收到异常:
线程 "main" scala.reflect.internal.MissingRequirementError 中的异常:未找到对象 org.template.classification.AccuracyEvaluation。
在 scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16)
在 scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17)
在 scala.reflect.internal.Mirrors$RootsBase.ensureModuleSymbol(Mirrors.scala:126)
在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:161)
在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:21)
在 io.prediction.workflow.WorkflowUtils$.getEvaluation(WorkflowUtils.scala:103)
在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:146)
在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:144)
谁能帮我解决这个问题?
非常感谢。
遇到了完全相同的问题。通过执行以下操作修复它:
对于 engine_dir/src/main/scala/org/template/engine_name/ 中的每个 .scala 文件,您需要将第一行从...
package <SomeTemplateName>
以下(将engine_name替换为上述路径中的文件夹名称):
package org.template.<engine_name>
然后,在 engine.json 中,您需要更改以下行...
"engineFactory": "<template name>.<template engine>",
以下(再次将engine_name替换为上述路径中的文件夹名称):
"engineFactory": "org.template.<engine name>.<template engine>",
现在重新运行...
pio build
pio train
pio deploy
那么您应该能够运行模型评估而不会出错。
像这样简化运行
$ pio eval org.example.classification.AccuracyEvaluation \
org.example.classification.EngineParamsList
您无需更改任何内容。示例中的 class 包是 org.example.classification 而不是 org.template.classification
我遵循了这个快速入门:
https://docs.prediction.io/templates/classification/quickstart/
以及这份评估指标文档
https://docs.prediction.io/evaluation/paramtuning/
在构建步骤和 运行 评估指标之前一切似乎都正常
pio 评估org.template.classification.AccuracyEvaluation\ org.template.classification.EngineParamsList 我收到异常: 线程 "main" scala.reflect.internal.MissingRequirementError 中的异常:未找到对象 org.template.classification.AccuracyEvaluation。 在 scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16) 在 scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17) 在 scala.reflect.internal.Mirrors$RootsBase.ensureModuleSymbol(Mirrors.scala:126) 在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:161) 在 scala.reflect.internal.Mirrors$RootsBase.staticModule(Mirrors.scala:21) 在 io.prediction.workflow.WorkflowUtils$.getEvaluation(WorkflowUtils.scala:103) 在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:146) 在 io.prediction.workflow.CreateWorkflow$$anonfun$19.apply(CreateWorkflow.scala:144) 谁能帮我解决这个问题? 非常感谢。
遇到了完全相同的问题。通过执行以下操作修复它:
对于 engine_dir/src/main/scala/org/template/engine_name/ 中的每个 .scala 文件,您需要将第一行从...
package <SomeTemplateName>
以下(将engine_name替换为上述路径中的文件夹名称):
package org.template.<engine_name>
然后,在 engine.json 中,您需要更改以下行...
"engineFactory": "<template name>.<template engine>",
以下(再次将engine_name替换为上述路径中的文件夹名称):
"engineFactory": "org.template.<engine name>.<template engine>",
现在重新运行...
pio build
pio train
pio deploy
那么您应该能够运行模型评估而不会出错。
像这样简化运行
$ pio eval org.example.classification.AccuracyEvaluation \ org.example.classification.EngineParamsList
您无需更改任何内容。示例中的 class 包是 org.example.classification 而不是 org.template.classification