.mlmodels 的枚举?
Posted
技术标签:
【中文标题】.mlmodels 的枚举?【英文标题】:Enum for .mlmodels? 【发布时间】:2020-07-29 03:02:13 【问题描述】:因此,我目前正在开展一个项目,该项目包括使用 CreateML、CoreML 和 Vision 进行图像识别。我仍在尝试数据集并使用 CreateML 改进模型,但如果我从一个模型更改为另一个模型,我必须手动更改 Xcode 在将.mlmodel
文件导入项目时为我创建的变量let model = example()
。所以我想用这些模型文件的名称做一个tableView,所以如果我点击其中一个,它会带我到“RecognitionVC”,将名称作为变量传递,这样我就可以用来自@的枚举实例化类987654330@ 然后访问我无法实现的“模型变量”。
这就是枚举的样子:
enum MLModels: String
case example
case letters
case ab
case numbers
case asl
这就是我想要实现的目标:
func getModel() -> AnyClass
switch self
case .example:
return example()
...
var model: MLModel
switch self
case .example:
return example()
...
我是这些机器学习内置框架的新手,如果有人能告诉我我做错了什么或如何实现这一点,我将不胜感激。谢谢,我包括一些截图。如果您想测试任何内容,包括指向苹果公共模型的链接:
link
【问题讨论】:
您到底想达到什么目的?在我看来,您面临的设计模式问题不仅仅是 CoreML 问题,不是吗? 【参考方案1】:当您编写example()
时,它会创建一个包装类的实例。这不是MLModel
。但是,它确实具有 MLModel
作为属性,因此您可以编写 return example().model
来做您想做的事情。
【讨论】:
是的,我也试过了,但它也没有工作,但你的回答让我找到了我的解决方案,所以我会把它标记为正确的。这是一个愚蠢的错误,我收到“Enum case 'example' cannot be used as an instance member”错误,因为类名是 example(),而我的 enum case 是相同的“example”。谢谢!以上是关于.mlmodels 的枚举?的主要内容,如果未能解决你的问题,请参考以下文章
加载 mlmodel 时出现机器学习错误“No known class for loading model type > MLModelType_pipelineClassifier”