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

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.

主站蜘蛛池模板: 凤山市| 鹤山市| 平和县| 简阳市| 石棉县| 红原县| 嘉祥县| 招远市| 新昌县| 富蕴县| 自贡市| 霞浦县| 双辽市| 罗平县| 盘山县| 贵定县| 普兰店市| 望谟县| 文登市| 满城县| 巢湖市| 三原县| 佛教| 昌邑市| 上饶县| 长乐市| 镇江市| 无为县| 临邑县| 亳州市| 庆元县| 绍兴县| 临泉县| 霍山县| 调兵山市| 东海县| 金坛市| 许昌市| 汝城县| 台前县| 徐汇区|