Catalyst에 대한 ML 빌드 오류 (Xcode 12 GM)

Sep 16 2020

ML 모델의 GM 릴리스에 문제가 있고 이에 대한 해결책이있는 사람이 있습니까? 다음과 같은 오류가 발생합니다.

Type 'MLModel' has no member '__loadContents'

프로젝트를 정리하고 파생 데이터를 삭제했습니다 (이 파일은 파생 데이터 폴더에 저장되는 생성 된 파일입니다).

내가 사용하는 Mac OS 10.15에는 방법이 없어야하지만 어떤 이유로 든 거기에 있다는 것을 알았습니다.

또한 GM이 프로덕션 빌드 인 동안이 API가 아직 베타 버전임을 알았습니다. https://developer.apple.com/documentation/coreml/mlmodel

ML 모델을 다시 생성해야합니까?

답변

6 COzkurt Sep 28 2020 at 06:19

이것의 근본 원인은 다음과 같습니다.

Xcode 12.0 GM의 CoreML 컴파일러는 컴파일 문제를 일으키는 macOS BigSur에서만 사용할 수있는 기호가있는 코드를 생성합니다. 목표가 Xcode 12.0으로 촉매제 또는 macOS 전용 앱을 빌드하는 것이라면

해결 단계 :

  1. 타겟 빌드 설정에서 COREML_CODEGEN_LANGUAGE를 "None"으로 설정할 수 있습니다.
  2. 터미널을 열고 .mlmodel 폴더로 이동하십시오.
  3. "xcrun coremlcompiler generate <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)

신속한 파일을 수정하는 방법.