Instruction

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.

Unlock now

Exporting the Model from Create ML

To export your trained model from Create ML, navigate to the Output section, where you’ll find your model ready for export. Simply click the Get button, which will prompt you to choose a location to save the model file. Ensure you select a location that’s easy to access for the following steps.

Integrating the Model Into a SwiftUI App

To integrate your custom image classification model into a SwiftUI app, you’ll follow a process that involves creating an instance of your model, setting up the image-classification request, and updating the UI with the results. Here’s how you can achieve this:

1. Creating an Image Classifier Instance

Start by creating an instance of your Core ML model. This should be done when the app launches, ensuring that you have a single instance of the model available for efficient performance throughout the app.

2. Creating an Image-Classification Request

To classify an image, you must create a VNCoreMLRequest using your model. This request will process the image and provide classification results.

3. Creating a Request Handler

You use the VNImageRequestHandler to handle the image and perform the request. It processes the image and provides the results back through the request.

4. Handling and Extracting High-Confidence Results

Once you receive the classification results from the Core ML model, the next step is to handle these results and identify the most accurate classification based on confidence scores. This process involves checking for valid results and selecting the one with the highest confidence to ensure that you present the most reliable classification to the user.

5. Updating the UI with Classification Results

After receiving the classification results, it’s essential to update the UI to present these results to the user in a clear and meaningful way. This step involves converting the raw prediction data into a user-friendly format and ensuring the UI elements reflect the updated information. Typically, this means updating labels, text fields, or other UI components with the classification results. It’s crucial to perform these updates on the main thread to ensure smooth and responsive user interactions.

Tips to Optimize the Model for Real-Time Performance

Optimize Predictions on Background Threads

Run your model’s predictions off the main thread to keep the UI responsive.

Batch Processing

For tasks requiring multiple classifications in a short period, consider batching your requests. This method minimizes the overhead of individual requests.

Reduce Image Size

Before passing images to the model, resize them to match the input size your model expects (e.g., 224x224 pixels). This reduces the computational load.

Profile Performance

Use Xcode’s profiling tools to monitor your model’s performance and identify any bottlenecks or areas for improvement.

See forum comments
Download course materials from Github
Previous: Introduction Next: Demo