swift - 有没有办法在电容器插件中使用 CoreML 模型?
问题描述
我目前正在开发一个电容器插件,它应该允许我在 Ionic-App 的 ios 版本上运行 CoreML 模型。
尽管我使用通用术语来访问模型文件,但不知何故在我的 ios-plugin-script 中找不到该模型。除了 VNCoreMLModel 之外,我是否可以通过其他方式访问模型,或者在电容器插件中使用 CoreML 模型通常存在问题?
我还尝试加载模型,在完整/本机 swift 应用程序中使用相同的代码行,效果很好。
该模型已经位于插件目录中(连同文件 Plugin.swift、Plugin.m 等...),并通过将其称为 //VNCoreMLModel(for: "modelname".model) 来访问它。
特别是错误消息:“在范围内找不到'Resnet50'”
代码片段:
guard let model = try? VNCoreMLModel(for: Resnet50().model) else {return}
(我个人认为,在将插件集成到我的应用程序中时,模型文件可能不会出于任何原因转移到“开发舱”中。)
解决方案
我不知道电容是什么,但是Resnet50
是Xcode自动生成的一个类。您要么需要将该类的源代码复制到您自己的项目中,要么不使用该类并MLModel
为您的模型实例化一个对象。
推荐阅读
- c++ - 如果我尝试在 C++ 中打印类的非静态成员函数的地址,为什么会创建一个对象?
- reactjs - 如何在路由阶段检查 localStorage 中的当前令牌?
- mysql - 如何在代码点火器中获取每组的最后一行?
- javascript - console.log("text") 当在 javascript 中没有可使用 selenium 的按钮元素时
- python - 使用熊猫在excel中格式化单元格和行的颜色
- java - 何时在 Springs @Configuration 中将 proxyBeanMethods 设置为 false?
- java - Android:字符集是否取决于语言?
- python - 在 python 中使用 cv2.findContours() 时,我的 python 代码出现了 ValueError。-> 没有足够的值来解包(预期 3,得到 2)
- angular - 如何使用 Angular 和 PHP 上传图片
- c++ - 如何在 C++ 中使用弱函数