Lỗi xây dựng ML cho Catalyst (Xcode 12 GM)
Có ai khác gặp vấn đề với việc phát hành GM với các mô hình ML và có giải pháp cho việc này không? Tôi nhận được lỗi sau đây:
Type 'MLModel' has no member '__loadContents'
Tôi đã làm sạch Dự án + dữ liệu dẫn xuất đã xóa (đây là tệp được tạo được đưa vào thư mục dữ liệu dẫn xuất)
Tôi nhận thấy rằng phương pháp này không nên có cho mac OS 10.15 mà tôi sử dụng, nhưng nó ở đó vì một số lý do.
Tôi cũng nhận thấy rằng API này vẫn đang trong giai đoạn thử nghiệm trong khi GM là bản dựng sản xuất? https://developer.apple.com/documentation/coreml/mlmodel
Tôi có nên tạo lại mô hình ML không?
Trả lời
Nguyên nhân gốc rễ của điều này là:
Trình biên dịch CoreML trong Xcode 12.0 GM đang tạo mã có các ký hiệu chỉ có sẵn trên macOS BigSur gây ra sự cố biên dịch. Nếu mục tiêu là xây dựng một ứng dụng xúc tác hoặc chỉ macOS với Xcode 12.0
Các bước khắc phục:
- Trong cài đặt xây dựng mục tiêu, bạn có thể đặt COREML_CODEGEN_LANGUAGE thành "Không"
- Mở thiết bị đầu cuối, sau đó chuyển đến nơi chứa thư mục .mlmodel của bạn
- Nhập "xcrun coremlcompiler create <YourModel.mlmodel> --language Swift."
- Thao tác này sẽ tạo tệp <YourModel.swift> trong cùng một thư mục.
- Mở Xcode và thêm <YourModel.swift> vào dự án của bạn.
- Nhấp vào <YourModel.swift> và bình luận về phương pháp mà trình biên dịch phàn nàn.
Trong trường hợp của tôi, tôi bình luận:
class func load(contentsOf modelURL: URL, configuration: MLModelConfiguration = MLModelConfiguration(), completionHandler handler: @escaping (Swift.Result<Nudity, Error>) -> Void)
và
class func load(configuration: MLModelConfiguration = MLModelConfiguration(), completionHandler handler: @escaping (Swift.Result<Nudity, Error>) -> Void)
phương pháp sửa chữa tệp nhanh.