Custom Vision 프로젝트 복사 및 백업
Custom Vision 프로젝트를 만들고 학습한 후에는 프로젝트를 다른 리소스에 복사할 수 있습니다. 앱 또는 비즈니스가 Custom Vision 프로젝트에 의존하는 경우 다른 지역의 다른 Custom Vision 계정으로 모델을 복사하는 것이 좋습니다. 그러면 지역 가동 중단이 발생하는 경우 복사된 지역의 프로젝트에 액세스할 수 있습니다.
ExportProject 및 ImportProject API는 한 Custom Vision 계정에서 다른 계정으로 프로젝트를 복사할 수 있도록 하여 이 시나리오를 가능하게 합니다. 이 가이드에서는 cURL로 이러한 REST API를 사용하는 방법을 보여 줍니다. Visual Studio Code용 REST 클라이언트와 같은 HTTP 요청 서비스를 사용하여 요청을 실행할 수도 있습니다.
팁
Python 클라이언트 라이브러리를 사용하는 이 시나리오의 예는 GitHub에서 Custom Vision 프로젝트 이동 리포지토리를 참조하세요.
팁
Custom Vision 프로젝트를 Azure AI 비전 Image Analysis 4.0으로 이동하려면 마이그레이션 가이드를 참조하세요. 두 서비스를 비교하려면 비교 페이지를 참조하세요.
필수 조건
- 두 개의 Azure AI Custom Vision 리소스. 없는 경우 Azure Portal로 이동하여 새 Custom Vision 리소스를 만듭니다.
- Custom Vision 리소스의 학습 키 및 엔드포인트 URL. Azure Portal의 리소스 개요 탭에서 이러한 값을 찾을 수 있습니다.
- 만들어진 Custom Vision 프로젝트. 이 작업을 수행하는 방법에 대한 지침은 분류자 빌드를 참조하세요.
- PowerShell 버전 6.0 이상 또는 유사한 명령줄 유틸리티
프로세스 이해
프로젝트를 복사하는 프로세스는 다음 단계로 구성됩니다.
- 먼저 복사하려는 원본 계정에서 프로젝트의 ID를 가져옵니다.
- 그런 다음 원본 계정의 프로젝트 ID 및 학습 키를 사용하여 ExportProject API를 호출합니다. 임시 토큰 문자열을 가져오게 됩니다.
- 그런 다음 대상 계정의 토큰 문자열과 학습 키를 사용하여 ImportProject API를 호출합니다. 그러면 프로젝트가 대상 계정 아래에 나열됩니다.
프로젝트 ID 가져오기
먼저 GetProjects를 호출하여 기존 Custom Vision 프로젝트 및 해당 ID의 목록을 확인합니다. 원본 계정의 학습 키 및 엔드포인트를 사용합니다.
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects"
-H "Training-key: {training key}"
본문에 프로젝트 목록과 해당 메타데이터가 있는 200\OK
응답을 받게 됩니다.
"id"
값은 다음 단계에 대해 복사할 문자열입니다.
[
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"settings": {
"domainId": "00000000-0000-0000-0000-000000000000",
"classificationType": "Multiclass",
"targetExportPlatforms": [
"CoreML"
],
"useNegativeSet": true,
"detectionParameters": "string",
"imageProcessingSettings": {
"augmentationMethods": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
]
프로젝트 내보내기
프로젝트 ID와 원본 학습 키 및 엔드포인트를 사용하여 ExportProject를 호출합니다.
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects/{projectId}/export"
-H "Training-key: {training key}"
내보낸 프로젝트에 대한 메타데이터 및 참조 문자열 "token"
이 있는 200/OK
응답을 받게 됩니다. 토큰의 값을 복사합니다.
{
"iterationCount": 0,
"imageCount": 0,
"tagCount": 0,
"regionCount": 0,
"estimatedImportTimeInMS": 0,
"token": "string"
}
팁
프로젝트를 가져올 때 "잘못된 토큰" 오류가 발생하면 토큰 URL 문자열이 웹으로 인코딩되지 않은 것일 수 있습니다. URL 인코더를 사용하여 토큰을 인코딩할 수 있습니다.
프로젝트 가져오기
참조 토큰과 함께 대상 학습 키 및 엔드포인트를 사용하여 ImportProject를 호출합니다. 새 계정에서 프로젝트에 이름을 지정할 수도 있습니다.
curl -v -G -X POST "{endpoint}/customvision/v3.3/Training/projects/import"
--data-urlencode "token={token}" --data-urlencode "name={name}"
-H "Training-key: {training key}" -H "Content-Length: 0"
새로 가져온 프로젝트에 대한 메타데이터가 있는 200/OK
응답을 받게 됩니다.
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"settings": {
"domainId": "00000000-0000-0000-0000-000000000000",
"classificationType": "Multiclass",
"targetExportPlatforms": [
"CoreML"
],
"useNegativeSet": true,
"detectionParameters": "string",
"imageProcessingSettings": {
"augmentationMethods": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
다음 단계
이 가이드에서는 Custom Vision 리소스 간에 프로젝트를 복사하고 이동하는 방법을 알아보았습니다. 다음으로 API 참조 문서를 탐색하여 Custom Vision으로 수행할 수 있는 다른 작업을 살펴봅니다.