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

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.

主站蜘蛛池模板: 张家界市| 漾濞| 菏泽市| 湘阴县| 桂东县| 阳江市| 和田市| 隆德县| 石嘴山市| 甘谷县| 鞍山市| 莆田市| 抚顺市| 前郭尔| 渝中区| 望城县| 大英县| 黄梅县| 丽水市| 汾阳市| 普格县| 铅山县| 莎车县| 汤原县| 百色市| 瓮安县| 廉江市| 景东| 瑞安市| 高唐县| 晋宁县| 元朗区| 乐清市| 桐柏县| 攀枝花市| 泗水县| 同德县| 怀安县| 定襄县| 黄骅市| 曲周县|