Terapkan Model Pembelajaran Mesin Python di iPhone Anda – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Patrick Long

Pembelajaran Mesin, Pemrograman

Panduan minimalis

Foto oleh AltumCode di Unsplash

Artikel ini menjelaskan jalur terpendek dari melatih model machine learning python hingga aplikasi bukti konsep iOS yang dapat Anda terapkan di iPhone. Tujuannya adalah untuk menyediakan perancah dasar sambil menyisakan ruang untuk penyesuaian lebih lanjut yang sesuai dengan kasus penggunaan spesifik seseorang. Dalam semangat kesederhanaan, kita akan mengabaikan beberapa tugas seperti validasi model dan membangun antarmuka pengguna (UI) yang sepenuhnya dipoles. Di akhir tutorial ini, Anda akan memiliki model terlatih yang berjalan di iOS yang dapat Anda tampilkan sebagai prototipe dan dimuat ke perangkat Anda.

Langkah 1. Siapkan lingkungan Anda

Pertama, mari buat lingkungan virtual python yang disebut .core_ml_demo dan kemudian instal pustaka yang diperlukan yaitu pandas scikit-learn dan coremltools. Dari terminal Anda, jalankan:

https://medium.com/media/c0c7cbf0b70bac2c33d5015d7a3241ec/href

Selanjutnya kita akan menginstal Xcode. Xcode adalah perangkat pengembangan untuk produk Apple. Perhatikan bahwa Xcode cukup besar (> 10 Gb). Saya akan merekomendasikan mengambil secangkir kopi atau menjalankan instalasi Anda semalaman. –Catatan, panduan ini menggunakan Xcode Versi 12.3 (12C33) di macOS Catalina 10.15.5.

Xcode

Langkah 2. Latih model

Kami akan menggunakan set data mainan Boston Housing Price scikit-learn untuk melatih model regresi linier guna memprediksi harga rumah berdasarkan atribut properti dan sosio-ekonomi. Karena kami bertujuan untuk kesederhanaan, kami akan membatasi ruang fitur menjadi 3 prediktor dan menggunakan harga rumah sebagai variabel target kami.

https://medium.com/media/d53168fa3b4fe944b3bdb2ddda2f0151/href

Langkah 3. Ubah model menjadi Core ML

Apple menyediakan dua jalan untuk mengembangkan model untuk iOS. Yang pertama, Create ML, memungkinkan seseorang memproduksi model sepenuhnya dalam ekosistem Apple. Yang kedua, Core ML, memungkinkan seseorang untuk mengintegrasikan model dari pihak ketiga ke dalam platform Apple dengan mengonversinya ke format Core ML. Karena kami tertarik untuk menjalankan model yang dilatih python di iOS, kami akan menggunakan yang terakhir.

Kami akan mengonversi model sklearn kami ke format Core ML (.mlmodel) menggunakan paket coremltools python sebelum mengimpor ke Xcode. coremltools memungkinkan seseorang untuk menetapkan metadata ke objek model seperti informasi kepenulisan dan fitur model dan deskripsi hasil.

https://medium.com/media/de844acbe4f078bbf76004666f52d706/href

Langkah 4. Mulai proyek Xcode baru

Dan itu untuk python. Dari sini, kita dapat menyelesaikan aplikasi prototipe hanya dengan menggunakan Xcode dan Swift. Ini dapat dilakukan dengan penyiapan di bawah.

Buka Xcode dan buat proyek Xcode baru Pilih “iOS” sebagai jenis Multiplatform Pilih “Aplikasi” sebagai jenis Aplikasi
Membuat proyek Xcode baru untuk iOS Selanjutnya, beri nama proyek Anda dan pilih Antarmuka “SwiftUI”.
Menamai proyek Xcode Anda Sekarang cukup seret dan lepas file .mlmodel (disimpan di atas pada langkah 3) ke direktori Xcode Anda. Xcode secara otomatis akan menghasilkan kelas Swift untuk model Anda seperti yang ditunjukkan pada editor di bawah ini. Jika Anda memeriksa kelas model Anda, Anda akan melihat bahwa itu termasuk detail yang kami masukkan saat menyimpan model python kami menggunakan coremltools seperti fitur dan deskripsi bidang target. Ini berguna untuk penatagunaan model.
Mengimpor file .coreml Anda ke dalam proyek Xcode Anda

Langkah 5. Buat UI model

Selanjutnya kita akan membangun UI dasar dengan memodifikasi file ContentView.swift di proyek Xcode Anda. Kode Swift di bawah ini menyiapkan UI yang memungkinkan pengguna menyesuaikan atribut rumah dan kemudian memprediksi harga rumah. Ada beberapa elemen yang bisa kita ulas di sini.

NavigationView berisi UI penting kami. Itu termasuk:

Stepper struct (baris 19–30) untuk masing-masing dari tiga fitur kami, yang memungkinkan pengguna untuk mengubah nilai fitur. Steppers pada dasarnya adalah widget yang memodifikasi @State dari variabel atribut house kita (baris 6-8). Tombol di bilah navigasi (baris 31–40) untuk memanggil model kita dari dalam fungsi predictPrice (baris 46). Ini menghasilkan pesan peringatan di layar dengan harga yang diprediksi.

Di luar NavigationView kita memiliki fungsi predictPrice (baris 46–62). Fungsi predictPrice membuat instance kelas model Swift Core ML kami dan menghasilkan prediksi sesuai dengan nilai yang disimpan dalam status fitur kami.

https://medium.com/media/5f1eae2a7d4fa7a2dee4643c849ecbeb/href

Dan akhirnya bagian yang menyenangkan. Kita dapat membangun dan menjalankan simulasi aplikasi kita di Xcode untuk melihat model kita beraksi. Pada contoh di bawah ini, saya telah membuat simulasi menggunakan iPhone 12.

Simulasi model Anda yang berjalan di iOS

Kesimpulan

Dan itu dia! Prototipe awal kami sudah selesai. Masih banyak yang harus dilakukan seperti validasi model, tes untuk mengonfirmasi performa yang diharapkan setelah diimpor ke iOS dan UI yang lebih ramping / lebih ramah. Meskipun demikian, saya harap ini berfungsi sebagai referensi yang berguna untuk upaya penerapan pembelajaran mesin seluler Anda.

Alat baru dan lebih baik terus membuat pencarian seluler lebih dapat diakses secara luas oleh komunitas ilmu data dan ada banyak peluang kreatif yang menunggu untuk diklaim dalam ruang seluler. Karena teknologi seluler pada dasarnya adalah multi-media, ia menyediakan beragam jenis data (misalnya audio, video, pergerakan, dan lokasi) bersama dengan aplikasi titik penggunaan yang unik untuk memperluas perangkat ilmu data seseorang.

Seperti biasa, saya menerima masukan atau saran apa pun.

Terima kasih sudah membaca!

Sumber daya

CoreML

Penerapan iOS

Dokumentasi Pengembang Apple

SwiftUI

SwiftUI dengan Contoh

Menerapkan Model Pembelajaran Mesin Python di iPhone Anda awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Towards AI