초기 모델 배포
모델을 만든(학습시킨) 후에는 해당 모델에 대한 온라인 또는 동기식 호출을 수행하기 전에 모델을 배포해야 합니다.
이제 추가 온라인 예측 용량이 필요하면 모델 배포를 업데이트할 수도 있습니다.
웹 UI
- 제목 표시줄 아래의 테스트 및 사용 탭으로 이동합니다.
- 모델 배포 버튼을 선택합니다. 그러면 새 배포 옵션 창이 열립니다.
- 새로 열린 배포 옵션 창에서 배포할 노드 수를 지정합니다.
각 노드는 특정 수의 초당 예측 쿼리(QPS)만 지원합니다.
대부분의 실험용 트래픽은 일반적으로 노드 1개면 충분합니다.
-
모델 배포를 시작하려면 배포를 선택합니다.
- 모델 배포 작업이 완료되면 이메일이 전송됩니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: GCP 프로젝트 ID입니다.
- model-id: 모델을 만들 때의 응답에서 모델의 ID입니다. ID는 모델 이름의 마지막 요소입니다.
예를 들면 다음과 같습니다.
- 모델 이름:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- 모델 ID:
IOD4412217016962778756
- 모델 이름:
필드 고려사항:
nodeCount
- 모델을 배포할 노드 수입니다. 값은 1에서 100 사이여야 합니다(양 끝 값 포함). 노드는 모델의qps_per_node
에서 지정된 온라인 예측의 초당 쿼리 수(QPS)를 처리할 수 있는 머신 리소스를 추상화한 것입니다.
HTTP 메서드 및 URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy
JSON 요청 본문:
{ "imageClassificationModelDeploymentMetadata": { "nodeCount": 2 } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy" | Select-Object -Expand Content
다음과 비슷한 출력이 표시됩니다. 작업 ID를 사용하여 작업 상태를 가져올 수 있습니다. 예시를 보려면 장기 실행 작업 다루기를 참조하세요.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-08-07T22:00:20.692109Z", "updateTime": "2019-08-07T22:00:20.692109Z", "deployModelDetails": {} } }
다음 HTTP 메서드 및 URL을 사용하여 작업 상태를 가져올 수 있습니다.
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
완료된 작업의 상태는 다음과 유사합니다.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-06-21T16:47:21.704674Z", "updateTime": "2019-06-21T17:01:00.802505Z", "deployModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Go
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Java
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Node.js
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Python
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 AutoML Vision 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 AutoML Vision 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 AutoML Vision 참고 문서를 참조하세요.
모델 노드 번호 업데이트
배포된 모델을 학습시켰으면 특정 트래픽 양에 대응하기 위해 모델이 배포된 노드 수를 업데이트할 수 있습니다. 예를 들어 예상한 것 보다 초당 쿼리 수 (QPS)가 많을 경우 배포된 노드 번호를 조정하여 이 트래픽을 처리할 수 있습니다.
먼저 모델을 배포 취소하지 않아도 이 노드 수를 변경할 수 있습니다. 배포를 업데이트하면 제공된 예측 트래픽을 중단하지 않고도 노드 수가 변경됩니다.
웹 UI
Vision Dashboard의 왼쪽 탐색 메뉴에 있는 모델 탭을 선택하여 사용 가능한 모델을 표시합니다.
다른 프로젝트의 모델을 보려면 제목 표시줄 오른쪽 위에 있는 드롭다운 목록에서 프로젝트를 선택하세요.
- 배포한 학습된 모델을 선택합니다.
- 제목 표시줄 바로 아래에 있는 테스트 및 사용 탭을 선택합니다.
-
페이지 상단의 상자에 '모델이 배포되어 온라인 예측 요청에 사용할 수 있습니다'라는 메시지가 표시됩니다. 이 텍스트 옆의 배포 업데이트 옵션을 선택합니다.
- 배포 업데이트 창이 열리면 목록에서 모델을 배포할 새 노드 번호를 선택합니다. 노드 번호는 예상되는 예측 초당 쿼리 수(QPS)를 표시합니다.
목록에서 새 노드 번호를 선택한 후 배포 업데이트를 선택하여 모델이 배포되는 노드 번호를 업데이트합니다.
- 테스트 및 사용 창으로 돌아가게 되며, 텍스트 상자에 '모델 배포 중...'이라고 표시됩니다.
모델이 새 노드 번호에 성공적으로 배포되면 프로젝트와 연관된 주소로 이메일이 전송됩니다.
REST
처음에 모델을 배포하는 데 사용하는 것과 동일한 방법을 사용하여 배포된 모델의 노드 번호를 변경합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: GCP 프로젝트 ID입니다.
- model-id: 모델을 만들 때의 응답에서 모델의 ID입니다. ID는 모델 이름의 마지막 요소입니다.
예를 들면 다음과 같습니다.
- 모델 이름:
projects/project-id/locations/location-id/models/IOD4412217016962778756
- 모델 ID:
IOD4412217016962778756
- 모델 이름:
필드 고려사항:
nodeCount
- 모델을 배포할 노드 수입니다. 값은 1에서 100 사이여야 합니다(양 끝 값 포함). 노드는 모델의qps_per_node
에서 지정된 온라인 예측의 초당 쿼리 수(QPS)를 처리할 수 있는 머신 리소스를 추상화한 것입니다.
HTTP 메서드 및 URL:
POST https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy
JSON 요청 본문:
{ "imageClassificationModelDeploymentMetadata": { "nodeCount": 2 } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/models/MODEL_ID:deploy" | Select-Object -Expand Content
다음과 비슷한 출력이 표시됩니다. 작업 ID를 사용하여 작업 상태를 가져올 수 있습니다. 예시를 보려면 장기 실행 작업 다루기를 참조하세요.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-08-07T22:00:20.692109Z", "updateTime": "2019-08-07T22:00:20.692109Z", "deployModelDetails": {} } }
다음 HTTP 메서드 및 URL을 사용하여 작업 상태를 가져올 수 있습니다.
GET https://automl.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
완료된 작업의 상태는 다음과 유사합니다.
{ "name": "projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1.OperationMetadata", "createTime": "2019-06-21T16:47:21.704674Z", "updateTime": "2019-06-21T17:01:00.802505Z", "deployModelDetails": {} }, "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Go
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Java
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Node.js
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
Python
이 샘플을 사용해 보기 전에 클라이언트 라이브러리 페이지에서 언어 설정 안내를 따르세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 AutoML Vision 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 AutoML Vision 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 AutoML Vision 참고 문서를 참조하세요.