이 페이지에서는 Vertex AI를 사용하여 이미지 및 동영상 AutoML Edge 모델을 Cloud Storage로 내보내는 방법을 설명합니다.
테이블 형식 모델을 내보내는 방법에 대한 자세한 내용은 AutoML 테이블 형식 모델 내보내기를 참조하세요.
소개
AutoML Edge 모델을 학습한 후에는 용도에 따라 모델을 다른 형식으로 내보낼 수 있습니다. 내보낸 모델 파일은 Cloud Storage 버킷에 저장되며 선택한 환경의 예측에 사용될 수 있습니다.
Vertex AI의 Edge 모델을 사용하여 예측을 제공할 수 없습니다. 예측을 가져오려면 Edge 모델을 외부 기기에 배포해야 합니다.
모델을 내보냅니다.
다음 코드 샘플을 사용하여 AutoML Edge 모델을 식별하고 출력 파일 스토리지 위치를 지정한 후 모델 내보내기 요청을 보냅니다.
이미지
아래에서 목표에 대한 탭을 선택합니다.
분류
학습된 AutoML Edge 이미지 분류 모델은 다음 형식으로 내보낼 수 있습니다.
- TF Lite - 모델을 TF Lite 패키지로 내보내 Edge 또는 휴대기기에서 모델을 실행합니다.
- Edge TPU TF Lite - 모델을 TF Lite 패키지로 내보내어 Edge TPU 기기에서 모델을 실행합니다.
- 컨테이너 - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- Core ML - 모델을 .mlmodel 파일로 내보내 iOS 및 macOS 기기에서 모델을 실행합니다.
- Tensorflow.js - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 내보내기를 클릭합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 프로젝트의 위치입니다.
- PROJECT: 프로젝트 ID
- MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 이 목표의 옵션은 다음과 같습니다.
tflite
(TF Lite) - 모델을 TF Lite 패키지로 내보내고 에지 또는 휴대기기에서 모델을 실행합니다.edgetpu-tflite
(Edge TPU TF Lite) - 모델을 TF Lite 패키지로 내보내고 Edge TPU 기기에서 모델을 실행합니다.tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.core-ml
(Core ML) - .mlmodel 파일을 내보내 iOS 및 macOS 기기에서 모델을 실행합니다.tf-js
(Tensorflow.js) - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
분류
학습된 AutoML Edge 이미지 분류 모델은 다음 형식으로 내보낼 수 있습니다.
- TF Lite - 모델을 TF Lite 패키지로 내보내 Edge 또는 휴대기기에서 모델을 실행합니다.
- Edge TPU TF Lite - 모델을 TF Lite 패키지로 내보내어 Edge TPU 기기에서 모델을 실행합니다.
- 컨테이너 - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- Core ML - 모델을 .mlmodel 파일로 내보내 iOS 및 macOS 기기에서 모델을 실행합니다.
- Tensorflow.js - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 내보내기를 클릭합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 프로젝트의 위치입니다.
- PROJECT: 프로젝트 ID
- MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 이 목표의 옵션은 다음과 같습니다.
tflite
(TF Lite) - 모델을 TF Lite 패키지로 내보내고 에지 또는 휴대기기에서 모델을 실행합니다.edgetpu-tflite
(Edge TPU TF Lite) - 모델을 TF Lite 패키지로 내보내고 Edge TPU 기기에서 모델을 실행합니다.tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.core-ml
(Core ML) - .mlmodel 파일을 내보내 iOS 및 macOS 기기에서 모델을 실행합니다.tf-js
(Tensorflow.js) - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
객체 감지
학습된 AutoML Edge 이미지 객체 감지 모델은 다음 형식으로 내보낼 수 있습니다.
- TF Lite - 모델을 TF Lite 패키지로 내보내 Edge 또는 휴대기기에서 모델을 실행합니다.
- 컨테이너 - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- Tensorflow.js - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 배포 및 테스트 탭을 선택하여 사용 가능한 내보내기 형식을 봅니다.
- Edge에 최적화된 모델 사용 섹션에서 원하는 내보내기 모델 형식을 선택합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 프로젝트의 위치입니다.
- PROJECT: 프로젝트 ID
- MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 이 목표의 옵션은 다음과 같습니다.
tflite
(TF Lite) - 모델을 TF Lite 패키지로 내보내고 에지 또는 휴대기기에서 모델을 실행합니다.tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.tf-js
(Tensorflow.js) - 모델을 TensorFlow.js 패키지로 내보내 브라우저 및 Node.js에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Vertex AI Node.js API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
동영상
아래에서 목표에 대한 탭을 선택합니다.
동작 인식
학습된 AutoML Edge 동영상 동작 인식 모델은 저장된 모델 형식으로 내보낼 수 있습니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 내보내기를 클릭합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 모델이 저장된 리전. 예를 들면
us-central1
입니다. - MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 동영상 동작 인식의 경우 모델 옵션은 다음과 같습니다.
tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
- PROJECT_NUMBER: 프로젝트의 자동으로 생성된 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
Java
이 샘플을 사용해 보기 전에 Vertex AI 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Vertex AI Java API 참고 문서를 참조하세요.
Vertex AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 확인하세요.
분류
학습된 AutoML Edge 동영상 분류 모델을 저장된 모델 형식으로만 내보낼 수 있습니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 내보내기를 클릭합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 모델이 저장된 리전. 예를 들면
us-central1
입니다. - MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 동영상 분류의 경우 모델 옵션은 다음과 같습니다.
tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
- PROJECT_NUMBER: 프로젝트의 자동으로 생성된 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
객체 추적
학습된 AutoML Edge 동영상 객체 추적 모델을 다음 형식으로 내보낼 수 있습니다.
- TF Lite - TensorFlow Lite 패키지로 모델을 내보내서 Edge 또는 휴대기기에서 실행합니다.
- 컨테이너 - TensorFlow 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
Console
- Google Cloud 콘솔의 Vertex AI 섹션에서 모델 페이지로 이동합니다.
- 내보내려는 AutoML Edge 모델의 버전 번호를 클릭하여 세부정보 페이지를 엽니다.
- 내보내기를 클릭합니다.
- 모델 내보내기 측면 창에서 Edge 모델 내보내기 출력을 저장할 Cloud Storage의 위치를 지정합니다.
- 내보내기를 클릭합니다.
- 완료를 클릭하여 모델 내보내기 측면 창을 닫습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 모델이 저장된 리전. 예를 들면
us-central1
입니다. - MODEL_ID: 내보내는 학습된 AutoML Edge 모델의 ID 번호입니다.
- EXPORT_FORMAT: 내보내는 Edge 모델의 유형입니다. 동영상 객체 추적 모델의 경우 옵션은 다음과 같습니다.
tflite
(TF Lite) - 모델을 TF Lite 패키지로 내보내고 에지 또는 휴대기기에서 모델을 실행합니다.edgetpu-tflite
(Edge TPU TF Lite) - 모델을 TF Lite 패키지로 내보내고 Edge TPU 기기에서 모델을 실행합니다.tf-saved-model
(컨테이너) - 모델을 TF 저장된 모델로 내보내 Docker 컨테이너에서 모델을 실행합니다.
- OUTPUT_BUCKET: Edge 모델 파일을 저장할 Cloud Storage 버킷 디렉터리의 경로입니다.
- PROJECT_NUMBER: 프로젝트의 자동으로 생성된 프로젝트 번호
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
JSON 요청 본문:
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export"
PowerShell
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
응답에는 사양 및 OPERATION_ID에 대한 정보가 포함됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
내보내기 작업의 상태를 가져오면 작업이 완료되었는지 확인할 수 있습니다.
작업 상태 가져오기
이미지
다음 코드를 사용하여 내보내기 작업 상태를 가져옵니다. 이 코드는 모든 목표에 동일합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 프로젝트의 위치입니다.
- PROJECT: 프로젝트 ID
- OPERATION_ID: 대상 작업의 ID입니다. 이 ID는 일반적으로 원래 요청에 대한 응답에 포함되어 있습니다.
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.793983Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelResponse" } }
동영상
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER: 프로젝트의 자동으로 생성된 프로젝트 번호
- LOCATION: 모델이 저장된 리전. 예를 들면
us-central1
입니다. - OPERATION_ID: 작업 ID
HTTP 메서드 및 URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
다음 명령어를 실행합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
출력 파일
이미지
아래에서 모델 형식에 대한 탭을 선택하세요.
TF Lite
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
model.tflite
: TensorFlow Lite와 함께 사용할 수 있는 모델 버전이 포함된 파일입니다.
Edge TPU
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
edgetpu_model.tflite
: Edge TPU와 호환되도록 Edge TPU 컴파일러를 통해 전달되는 TensorFlow Lite 모델 버전이 포함된 파일입니다.
컨테이너
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
saved_model.pb
: 그래프 정의와 모델 가중치가 포함된 프로토콜 버퍼 파일입니다.
Core ML
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/core-ml/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
dict.txt
: 라벨 파일입니다. 라벨 파일dict.txt
의 각 행은 모델이 반환하는 예측의 라벨을 요청과 동일한 순서대로 나타냅니다.샘플
dict.txt
roses daisy tulips dandelion sunflowers
model.mlmodel
: Core ML 모델을 지정하는 파일입니다.
Tensorflow.js
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-js/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
dict.txt
: 라벨 파일입니다. 라벨 파일dict.txt
의 각 행은 모델이 반환하는 예측의 라벨을 요청과 동일한 순서대로 나타냅니다.샘플
dict.txt
roses daisy tulips dandelion sunflowers
group1-shard1of3.bin
: 바이너리 파일입니다.group1-shard2of3.bin
: 바이너리 파일입니다.group1-shard3of3.bin
: 바이너리 파일입니다.model.json
: 모델의 JSON 파일 표현입니다.샘플
model.json
(명확성을 위해 축약됨){ "format": "graph-model", "generatedBy": "2.4.0", "convertedBy": "TensorFlow.js Converter v1.7.0", "userDefinedMetadata": { "signature": { "inputs": { "image:0": { "name": "image:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } }, "outputs": { "scores:0": { "name": "scores:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "5" } ] } } } } }, "modelTopology": { "node": [ { "name": "image", "op": "Placeholder", "attr": { "dtype": { "type": "DT_FLOAT" }, "shape": { "shape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } } }, { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "op": "Const", "attr": { "value": { "tensor": { "dtype": "DT_INT32", "tensorShape": { "dim": [ { "size": "2" } ] } } }, "dtype": { "type": "DT_INT32" } } }, ... { "name": "scores", "op": "Identity", "input": [ "Softmax" ], "attr": { "T": { "type": "DT_FLOAT" } } } ], "library": {}, "versions": {} }, "weightsManifest": [ { "paths": [ "group1-shard1of3.bin", "group1-shard2of3.bin", "group1-shard3of3.bin" ], "weights": [ { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "shape": [ 2 ], "dtype": "int32" }, { "name": "mnas_v4_a/output/fc/tf_layer/kernel", "shape": [ 1280, 5 ], "dtype": "float32" }, ... { "name": "mnas_v4_a_1/feature_network/lead_cell_17/op_0/conv2d_0/Conv2D_weights", "shape": [ 1, 1, 320, 1280 ], "dtype": "float32" }, { "name": "mnas_v4_a_1/feature_network/cell_14/op_0/expand_0/Conv2D_bn_offset", "shape": [ 1152 ], "dtype": "float32" } ] } ] }
동영상
아래에서 모델 형식에 대한 탭을 선택하세요.
TF Lite
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
model.tflite
: TensorFlow Lite와 함께 사용할 수 있는 모델 버전이 포함된 파일입니다.frozen_inference_graph.pb
: 그래프 정의와 모델 가중치가 포함된 직렬화된 프로토콜 버퍼 파일입니다.label_map.pbtxt
: 사용된 각 라벨을 정수 값에 매핑하는 라벨 맵 파일입니다.
Edge TPU
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
edgetpu_model.tflite
: Edge TPU와 호환되도록 Edge TPU 컴파일러를 통해 전달되는 TensorFlow Lite 모델 버전이 포함된 파일입니다.label_map.pbtxt
: 사용된 각 라벨을 정수 값에 매핑하는 라벨 맵 파일입니다.
컨테이너
요청에서 지정한 OUTPUT_BUCKET
은 출력 파일이 저장되는 위치를 결정합니다. 출력 파일이 저장되는 디렉터리 형식은 다음 형식을 따릅니다.
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
파일:
frozen_inference_graph.pb
: 그래프 정의와 모델 가중치가 포함된 직렬화된 프로토콜 버퍼 파일입니다.label_map.pbtxt
: 사용된 각 라벨을 정수 값에 매핑하는 라벨 맵 파일입니다.saved_model/saved_model.pb
: 이 파일은 실제 TensorFlow 프로그램 또는 모델, 그리고 이름이 지정된 서명 집합을 저장합니다. 각각의 서명에서 텐서 입력을 허용하고 텐서 출력을 생성하는 함수를 식별합니다.saved_model/variables/
: 변수 디렉터리에는 표준 학습 체크포인트가 포함됩니다.