Catalyst için ML Derleme hatası (Xcode 12 GM)

Sep 16 2020

ML modelleriyle GM sürümüyle ilgili sorunları olan ve bunun için bir çözümü olan başka biri var mı? Aşağıdaki hatayı alıyorum:

Type 'MLModel' has no member '__loadContents'

Proje + türetilmiş verileri temizledim (bu, türetilmiş veri klasörüne yerleştirilen oluşturulmuş bir dosyadır)

Yöntemin kullandığım mac OS 10.15 için orada olmaması gerektiğini, ancak bazı nedenlerden dolayı orada olması gerektiğini fark ettim.

Ayrıca, GM bir üretim yapısı iken bu API'nin hala beta aşamasında olduğunu fark ettim. https://developer.apple.com/documentation/coreml/mlmodel

Makine öğrenimi modelini yeniden oluşturmalı mıyım?

Yanıtlar

6 COzkurt Sep 28 2020 at 06:19

Bunun temel nedeni şudur:

Xcode 12.0 GM'deki CoreML derleyicisi, derleme sorununa neden olan yalnızca macOS BigSur'da bulunan sembollere sahip kod üretiyor. Hedef, Xcode 12.0 ile bir katalizör veya yalnızca macOS için uygulama oluşturmaksa

Düzeltilecek adımlar:

  1. Hedeflerinizin derleme ayarlarında COREML_CODEGEN_LANGUAGE değerini "Yok" olarak ayarlayabilirsiniz
  2. Terminali açın ve .mlmodel klasörünüzün bulunduğu yere gidin
  3. "Xcrun coremlcompiler generate <YourModel.mlmodel> --language Swift" yazın.
  4. Bu aynı klasörde <YourModel.swift> dosyasını oluşturacaktır.
  5. Xcode'u açın ve projenize <YourModel.swift> ekleyin.
  6. <YourModel.swift> öğesine tıklayın ve derleyicinin şikayet ettiği yöntemi yorumlayın.

Benim durumumda yorum yapıyorum:

class func load(contentsOf modelURL: URL, configuration: MLModelConfiguration = MLModelConfiguration(), completionHandler handler: @escaping (Swift.Result<Nudity, Error>) -> Void)

ve

class func load(configuration: MLModelConfiguration = MLModelConfiguration(), completionHandler handler: @escaping (Swift.Result<Nudity, Error>) -> Void)

Swift dosyasını düzeltme yöntemleri.