티스토리 뷰
이전 포스팅 MLDataTable로 MLTextClassifier 생성하기 ▼
지금까지 json파일을 통해 자연어처리 모델 생성을 위한 학습데이터를 가진 MLDataTable을 생성하고, MLDataTable로 ML모델 구조체, MLTextClassifier를 생성해서 정확성테스트를 진행해보았습니다.
이제 이어서 현재 만든 MLTextClassifier의 write메서드로 metadata를 포함한 MLModel파일을 로컬에 저장해보도록 하겠습니다.
MLModel 파일의 저장경로 지정하기
먼저, MLModel을 저장할 경로를 지정합니다. 저의 경우, 바탕화면에 저장하도록 URL을 지정했습니다. URL구조체의 생성자 인자에 지정한 URL경로를 넣어서 URL을 지정합니다.
바탕화면에 저장하고자 한다면, (applebuddy가 사용자 이름일 경우) "Users/applebuddy/Desktop/{ML Model file name}" 이 됩니다. 파일명은 ReviewClassifier.mlmodel로 저장했습니다.
ML Model 저장 시 메타데이터를 함께 추가할 수 있습니다. MLModel에 추가될 수 있는 메타데이터로는 author, shortDescription, license, version, additional 의 인자값이 있는데 이 중, shortDescription, lisense, additional 인자는 선택적으로 넣어줄 수 있습니다. (별도로 지정을 안해도 MLModelMetadata를 생성할 수 있습니다.)
MLModelMetadata타입으로 생성된 metadata는 MLModel 파일 저장 시 MLModel과 함께 저장되도록 합니다.
MLTextClassifier write
지정한 로컬 경로에 MLModel 저장하기
이제 저장경로 URL로 메타데이터를 포함한 ML Model을 로컬 저장해보겠습니다.
앞선 포스팅에서 생성했던 MLTextClassifier타입의 sentimentClassifier는 write메서드를 갖고 있으며 이는 파일저장을 할 때 사용할 수 있습니다. 이자로는 URL, metadata(optional)를 가질 수 있습니다. 여기에 앞서 생성한 mlModelFileURL, metadata를 넣어 자연어처리를 위해 생성했던 MLModel을 파일로 저장할 수 있습니다.
MLTextClassifier의 write(to:metadata:) 메서드를 사용하기 위해서는 try 예약어를 사용해야 하며, 저장하는데에 문제 발생 시, catch문으로 빠져나가 catch문을 실행하게 됩니다.
MLModel 저장결과 확인하기
MLTextClassifier의 write메서드를 수행한 결과 로그는 위와 같습니다.
"Trained model successfully saved at /Users/{사용자 이름}/Desktop/ReviewClassifier.mlmodel" 문구가 나오면, 정상적으로 해당 경로에 MLModel파일이 저장되었음을 의미합니다.
이제 해당 경로에 정상적으로 MLModel 파일이 로컬저장 되었는지 확인해보겠습니다.
위와 같이 정상적으로 ReviewClassifier.mlmodel 파일이 저장, 생성되었음을 확인할 수 있습니다.
지금까지 MLTextClassifier를 통해 MLModel 파일을 로컬저장하는 작업을 해봤습니다. 다음 포스팅에서는 iOS개발을 하며 실제 생성한 MLModel 파일을 사용해서 자연어처리 활용해보도록 하겠습니다.
'iOS 개발' 카테고리의 다른 글
iOS CoreData, xcdatamodeld 모델 및 entity로 로컬데이터 저장 방법 (1) | 2022.10.01 |
---|---|
iOS ML 자연어모델, NLModel 생성 후 댓글 성향분석하기 (0) | 2020.10.11 |
iOS 자연어처리, MLDataTable로 MLTextClassifier 생성하기 (0) | 2020.10.10 |
iOS 자연어처리, json 학습데이터로 MLDataTable 생성하기 (0) | 2020.10.06 |
Git SourceTree, 소스트리 맥(macOS) 설치 및 사용방법 (0) | 2020.08.24 |
- Total
- Today
- Yesterday
- 알고리즘
- 알고리즘문제
- 백준알고리즘
- ios
- 백준swift
- 개발자문서
- 컬렉션
- 프로그래머스
- swift
- 자연어처리
- swift언어
- 부스트코스
- 김프매매
- Protocol
- SwiftUI
- uikit
- 프로토콜
- swift 기초
- swift reduce
- Collection
- swift string
- swift알고리즘
- publisher
- 스위프트
- swift문제
- 프로그래머스swift
- Swift 알고리즘
- swift 문자열
- createML
- CoreML
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |