首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在swift中选择多个.mlModel

在swift中选择多个.mlModel
EN

Stack Overflow用户
提问于 2020-05-01 04:52:40
回答 1查看 78关注 0票数 1

我在我的xcode项目中有多个.mlModels,我希望用户选择模型并执行预测

代码语言:javascript
复制
let gestureClassifier = GestureClassifier() //mlModel

func predictGesture(window: Int) {

    let previousOutput = modelOutputs[window]
       let modelOutput = try? gestureClassifier.prediction(features: modelInput, hiddenIn: previousOutput?.hiddenOut, cellIn: previousOutput?.cellOut)
       modelOutputs[window] = modelOutput

       if let prediction = modelOutput?.activity,
          let probability = modelOutput?.activityProbability[prediction] {
         if prediction == Config.restItValue {
           return
         }
         if probability > Config.predictionThreshold {
            if prediction == Config.chopItValue || prediction == Config.driveItValue || prediction == Config.shakeItValue {
               print("prediction: \(prediction)")
                self.recordGestures(gesture: prediction)
           }

         }
         else{

            print("unrecognised gesture")
            self.recordGestures(gesture: "unRecognised Gesture")
        }
       }
     }

我有另一个型号的gestureClassifier1,我想做这样的事情。

代码语言:javascript
复制
func predictGesture(window: Int, **selectedModel**) {

      let previousOutput = modelOutputs[window]
       let modelOutput = try? **selectedModel**.prediction(features: modelInput, hiddenIn: 
   previousOutput?.hiddenOut, cellIn: previousOutput?.cellOut)

    }

我如何才能做到这一点,我尝试使用任何类作为数据类型,但类函数如.prediction(..)是不可访问的。

EN

回答 1

Stack Overflow用户

发布于 2020-05-01 17:05:18

与其说这是一个核心ML问题,不如说是一个一般的编程问题:如何创建一个接受不同类型对象但以相同方式对待它们的函数?

要做到这一点,一种方法是创建一个包含prediction()方法的协议,然后为每个GestureClassifier etc类创建一个扩展,使它们符合该协议。

另一种方法是使用GestureClassifier.model属性中的MLModel并使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61532523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档