Catalyst için ML Derleme hatası (Xcode 12 GM)
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
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:
- Hedeflerinizin derleme ayarlarında COREML_CODEGEN_LANGUAGE değerini "Yok" olarak ayarlayabilirsiniz
- Terminali açın ve .mlmodel klasörünüzün bulunduğu yere gidin
- "Xcrun coremlcompiler generate <YourModel.mlmodel> --language Swift" yazın.
- Bu aynı klasörde <YourModel.swift> dosyasını oluşturacaktır.
- Xcode'u açın ve projenize <YourModel.swift> ekleyin.
- <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.