官术网_书友最值得收藏!

Importing the Core ML model into an iOS project

Create a new iOS project and drag and drop the DecisionTree.mlmodel into a project tree in Xcode. Click on it to see a machine learning model navigator screen:

Figure 2.11: Machine learning navigator screen

On this screen, you can find a familiar model description, model type (pipeline by some reason, in this case), the name of the Swift class that represents the model in the app, and lists of inputs and outputs. If you click on the small arrow next to the class name in the Model Class section, the autogenerated file DecisionTree.swift is opened. This reminds a Core Data framework, where you have autogenerated files for NSMangedObject subclasses. DecisionTree.swift contains three classes:

  • DecisionTreeInput: MLFeatureProvider, contains the input features (six of them, all Double).
  • DecisionTreeOutput: MLFeatureProvider, contains class label and class probability.
  • DecisionTree: NSObject, the class of the model itself. It contains methods for initialization and making predictions.

The method init(contentsOf: url) allows to replace the model in runtime, but only if you preserve the input and output structure. For example, this is how the model is loaded from the file in the bundle:

let bundle = Bundle.main 
let assetPath = bundle.url(forResource: "DecisionTree", withExtension:"mlmodelc") 
let sklDecisionTree = DecisionTree(contentsOf: assetPath!) 

In a same way, you can create a model with the content of a remote URL.

Drag and drop the RandomForest.ml model to the project to also compare accuracy of the models on the iOS.

主站蜘蛛池模板: 铁岭市| 漯河市| 舞阳县| 徐闻县| 靖江市| 磐石市| 丹东市| 苗栗市| 翁源县| 阿拉善右旗| 乌海市| 兰州市| 利津县| 永德县| 霍邱县| 安乡县| 潼关县| 温州市| 中江县| 新化县| 清河县| 光泽县| 临沧市| 达日县| 运城市| 莱州市| 友谊县| 涿州市| 阿瓦提县| 南和县| 墨玉县| 洪雅县| 汉阴县| 玛多县| 乌拉特中旗| 绥滨县| 库尔勒市| 岑溪市| 新化县| 安国市| 海丰县|