WWDC20: CreateML ile Model Eğitimi

CreateML kütüphanesine gelen yenilikler ile daha gelişmiş bir şekilde modelinizi eğitebilirsiniz.

Rana Taki
TurkishKit
3 min readJun 27, 2020

--

Merhaba sevgili TurkishKit okuyucuları! WWDC konferansının son gününe geldik. Bu müthiş macerada hep birlikte bir çok şey öğrendik ve Apple’ın ekosistemine getirdiği yenilikleri inceledik. Bu makalemizde CreateML hakkında yapılan yeniliklerden bahsedeceğiz. Sizin de model eğitimi sürecine eklenen yenilikleri duyunca çok heyecanlanacağınızdan eminim!

WWDC 2020 Haftasını Yakından Takip Edin!

TurkishKit Medium sayfamızı takip ederek WWDC 2020 haftası boyunca tanıtılan yeniliklerden anında haberdar olun.

WWDC 2020 serimizi keşfetmek için aşağıdaki linke tıklamanız yeterli:

Bu sene CreateML kütüphanesindeki yenilikler 3 ayrı başlıkta incelendi: Asynchronous API’ları, “Checkpoint”ler ve SwiftUI ile model eğitim sürecini yakından takip etmek. Hiç bekletmeden makalemize başlayalım!

CreateML kütüphanesinde yeniyseniz daha önceki CreateML hakkında yazdığımız yazılara aşağıdaki linkten ulaşabilirsiniz:

Asynchronous API’ları

Artık CreateML kullanırken eğitim sürecini yakından takip edebilecek ve istediğiniz zaman durdurup tekrar başlatabileceksiniz.

Böyle bir durumda eğer modelinizin hala eğiterek geliştirilebileceği belli ise normalde tüm eğitim sürecini tekrardan başlatıp “iteration” sayısını büyütmek gerekir. Ancak yeni sürüm ile birlikte artık eğitim sürecinin yetersiz kaldığı durumlarda modeli daha fazla eğitebilmek için süreci önceki verileri kaybetmeden devam ettirebiliyoruz.

MLJob: MLJob ile verilerinizi sisteme yerleştirebilirsiniz ve eğer modelinizin eğitim sürecini ayarlamak istiyorsanız daha fazla “iteration” ekleyebilir veya eğitim süreci boyunca eğitimi durdurabilirsiniz.

Playground kullanarak bir model eğitmek etmek istediğinizde programın eğitiminde oluşturduğu grafikleri görebiliyorsunuz.

Accuracy(doğruluk) ve loss(yanlış tahmin ihtimali) değerlerini süreç boyunca görmek istiyorsanız ve bu değerlere göre modelinizin training sürecini kısaltmak veya uzatmak istiyorsanız aşağıdaki kodu yazarak programınızı takip edebilirsiniz:

Bu kod, bir modelin eğitim sürecini takip etmek için yazılmıştır. İlk kısımda bir eğitim süreci tanımlanmıştır. İkinci kısımda “sink” kullanılarak eğitim sürecinin herhangi bir noktada durdurulabilmesi veya devam ettirilebilmesi sağlanmıştır. Üçüncü kısımda “publisher” kullanılarak eğitim sürecinin gözlemlenilebilmesi sağlanmıştır.

Eğer modelinizin durması gerektiği yerleri önceden biliyorsanız bunu otomatik olarak kodlayarak tanımlayabilirsiniz:

Böylece eğitim sürecinde sizin durdurmanız veya devam ettirmeniz gerekmez, eğitim süreci önceden tanımladığınız yerlerde durdurulur.

Checkpoints

CreateML kütüphanesine yeni gelen özelliklerden biri de “checkpoint”lerdir. Bu özellik, eğitim sürecinde eğittiğiniz verinin tamamı herhangi bir aksilikte kaybolmasın diye eğitim sürecinize “checkpoint” denilen kaydetme noktaları ekler. Eğitim sürecinde bir aksilik olursa, eğitimi baştan başlatmanıza gerek kalmaz, süreç bilgisayarın en son veriyi kaydettiği noktadan devam eder.

Sessions: “Checkpoint”lerin kaydedildiği yerdir. “Session”lara erişerek herhangi bir “checkpoint”unuzun özelliklerine (accuracy ve loss) ve ne zaman kaydettiğine ulaşabilirsiniz.

SwiftUI ile Eğitim Sürecini Yakından Takip Etmek

Evet, Apple cidden imkansızı başardı diyebiliriz. Artık SwiftUI kullanarak eğitiminizin sonuçlarını ve verinizi benzetmek istediğiniz fotoğrafı SwiftUI ekranında iki görünüm oluşturarak karşılaştırabiliyorsunuz.

Bir WWDC makalemizin daha sonuna geldik. Bu makalede CreateML kütüphanesinde yapılan yenilikleri gördük. Bir sonraki makalelerde görüşmek üzere iyi kodlamalar!

Bizi daha yakından takip etmek istiyorsanız, sosyal medya hesaplarımıza aşağıdan ulaşabilirsiniz!

Twitter | Instagram | Facebook

--

--