Xamarin.iOS coreML在后台模式下获取预测空引用错误
当iOS应用程序在后台模式下运行时,model.GetPrediction方法返回空对象。当应用程序位于前台时,该方法返回正确的预测。还有其他人遇到过这个问题吗?两件事: 当应用程序以Xamarin.iOS coreML在后台模式下获取预测空引用错误,ios,xamarin,xamarin.ios,coreml,Ios,Xamarin,Xamarin.ios,Coreml,当iOS应用程序在后台模式下运行时,model.GetPrediction方法返回空对象。当应用程序位于前台时,该方法返回正确的预测。还有其他人遇到过这个问题吗?两件事: 当应用程序以为背景时,执行任意代码的时间非常有限 您可以检查BackgroundTimeRemaining以确定您还有多少时间 您必须在BeginBackgroundTask操作中执行预测 前景应用程序(包括Springboard)优先于GPU 前置应用程序GPU处理将不会中断,以执行基于后台任务的预测 通过向预测调用提
为背景时,执行任意代码的时间非常有限
- 您可以检查
BackgroundTimeRemaining
以确定您还有多少时间
- 您必须在
BeginBackgroundTask
操作中执行预测
前景应用程序(包括Springboard)优先于GPU
- 前置应用程序GPU处理将不会中断,以执行基于后台任务的预测
- 通过向预测调用提供
MLPredictionOptions
,可以请求预测使用CPU(UsesCpuOnly
)
如果您的应用程序可能在后台运行,或者您的应用程序有其他GPU密集型任务,则应将您的模型限制为CPU
回复:谢谢您的快速回复。启用UsesCpuOnly选项会在后台返回有效的预测。UsesCpuOnly
标志也是我们的解决方案。在此处发布了如何执行此操作的示例代码: