ข้อผิดพลาด ML Build สำหรับ Catalyst (Xcode 12 GM)

Sep 16 2020

ใครมีปัญหากับ GM รุ่น ML และมีวิธีแก้ปัญหานี้หรือไม่? ฉันได้รับข้อผิดพลาดต่อไปนี้:

Type 'MLModel' has no member '__loadContents'

ฉันได้ล้างข้อมูลที่ได้รับจาก Project + ที่ถูกลบไปแล้ว (นี่คือไฟล์ที่สร้างขึ้นซึ่งใส่ไว้ในโฟลเดอร์ข้อมูลที่ได้รับ)

ฉันสังเกตเห็นว่าวิธีนี้ไม่ควรมีสำหรับ mac OS 10.15 ที่ฉันใช้ แต่มีด้วยเหตุผลบางประการ

ฉันยังสังเกตเห็นว่า API นี้ยังอยู่ในรุ่นเบต้าในขณะที่ GM เป็นรุ่นที่ใช้งานจริง https://developer.apple.com/documentation/coreml/mlmodel

ฉันควรสร้างแบบจำลอง ML ใหม่หรือไม่?

คำตอบ

6 COzkurt Sep 28 2020 at 06:19

สาเหตุของปัญหานี้คือ:

คอมไพเลอร์ CoreML ใน Xcode 12.0 GM กำลังสร้างโค้ดที่มีสัญลักษณ์เฉพาะบน macOS BigSur ทำให้เกิดปัญหาการคอมไพล์ หากเป้าหมายคือการสร้างตัวเร่งปฏิกิริยาหรือแอป macOS เท่านั้นที่มี Xcode 12.0

ขั้นตอนในการแก้ไข:

  1. ในการตั้งค่าการสร้างเป้าหมายของคุณคุณสามารถตั้งค่า COREML_CODEGEN_LANGUAGE เป็น "ไม่มี"
  2. เปิดเทอร์มินัลจากนั้นไปที่โฟลเดอร์. mlmodel ของคุณ
  3. พิมพ์ "xcrun coremlcompiler สร้าง <YourModel.mlmodel> --language Swift"
  4. สิ่งนี้จะสร้างไฟล์ <YourModel.swift> ในโฟลเดอร์เดียวกัน
  5. เปิด Xcode และเพิ่ม <YourModel.swift> ในโปรเจ็กต์ของคุณ
  6. คลิก <YourModel.swift> และคอมไพเลอร์แสดงความคิดเห็น

ในกรณีของฉันฉันแสดงความคิดเห็น:

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

และ

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

วิธีการแก้ไขไฟล์ที่รวดเร็ว