Google Cloud 콘솔에서 직접 또는 API나 Vertex AI 클라이언트 라이브러리 중 하나를 사용하여 프로그래매틱 방식으로 학습 파이프라인을 만들어 AutoML 모델을 만듭니다.
이 모델은 콘솔 또는 API를 사용하여 제공되는 준비된 데이터 세트로 생성됩니다. Vertex AI API는 데이터 세트의 항목을 사용하여 모델을 학습시키고 테스트하고 모델 성능을 평가합니다. 평가 결과를 검토하고 필요에 따라 학습 데이터 세트를 조정하며 향상된 데이터 세트를 사용하여 새 학습 파이프라인을 만드세요.
모델 학습을 완료하는 데 몇 시간 정도 걸릴 수 있습니다. Vertex AI API를 사용하면 학습 상태를 가져올 수 있습니다.
AutoML Edge 학습 파이프라인 만들기
대표성이 있는 학습 항목 세트가 포함된 데이터 세트가 있으면 AutoML Edge 학습 파이프라인을 만들 준비가 된 것입니다.
데이터 유형을 선택하세요.
이미지
아래에서 목표에 대한 탭을 선택합니다.
분류
학습 시에는 특정 사용 사례에 따라 원하는 AutoML Edge 모델 유형을 선택할 수 있습니다.
- 짧은 지연 시간(
MOBILE_TF_LOW_LATENCY_1
) - 범용 용도(
MOBILE_TF_VERSATILE_1
) - 예측 품질 개선(
MOBILE_TF_HIGH_ACCURACY_1
)
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 데이터 세트가 있고 모델이 생성된 리전입니다. 예를 들면
us-central1
입니다. - PROJECT: 프로젝트 ID
- TRAININGPIPELINE_DISPLAYNAME: 필수. trainingPipeline의 표시 이름입니다.
- DATASET_ID: 학습에 사용할 데이터 세트의 ID 번호입니다.
- fractionSplit: 선택사항. 가능한 여러 ML 중 하나가 데이터에 분할 옵션을 사용합니다.
fractionSplit
의 경우 값은 합계가 1이어야 합니다. 예를 들면 다음과 같습니다.-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline에서 업로드(생성)한 모델의 표시 이름입니다.
- MODEL_DESCRIPTION*: 모델에 대한 설명입니다.
- modelToUpload.labels*: 모델을 구성할 모든 키-값 쌍 세트입니다. 예를 들면 다음과 같습니다.
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: 학습시킬 Edge 모델의 유형입니다. 옵션은 다음과 같습니다.
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 실제 학습 비용은 이 값보다 작거나 같습니다. Edge 모델의 경우 예산은 1,000~100,000밀리 노드 시간이어야 합니다(1,000, 100,000 포함).
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
* | trainingTaskDefinition 에서 지정한 스키마 파일의 설명은 이 필드의 사용법을 설명합니다. |
† | trainingTaskDefinition 에서 지정한 스키마 파일은 이 필드를 선언하고 설명합니다. |
HTTP 메서드 및 URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 요청 본문:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "false", "modelType": ["EDGE_MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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 \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
응답에는 사양 및 TRAININGPIPELINE_ID에 대한 정보가 포함됩니다.
TRAININGPIPELINE_ID를 사용하여 trainingPipeline 작업의 상태를 가져올 수 있습니다.
분류
학습 시에는 특정 사용 사례에 따라 원하는 AutoML Edge 모델 유형을 선택할 수 있습니다.
- 짧은 지연 시간(
MOBILE_TF_LOW_LATENCY_1
) - 범용 용도(
MOBILE_TF_VERSATILE_1
) - 예측 품질 개선(
MOBILE_TF_HIGH_ACCURACY_1
)
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 데이터 세트가 있고 모델이 생성된 리전입니다. 예를 들면
us-central1
입니다. - PROJECT: 프로젝트 ID
- TRAININGPIPELINE_DISPLAYNAME: 필수. trainingPipeline의 표시 이름입니다.
- DATASET_ID: 학습에 사용할 데이터 세트의 ID 번호입니다.
- fractionSplit: 선택사항. 가능한 여러 ML 중 하나가 데이터에 분할 옵션을 사용합니다.
fractionSplit
의 경우 값은 합계가 1이어야 합니다. 예를 들면 다음과 같습니다.-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline에서 업로드(생성)한 모델의 표시 이름입니다.
- MODEL_DESCRIPTION*: 모델에 대한 설명입니다.
- modelToUpload.labels*: 모델을 구성할 모든 키-값 쌍 세트입니다. 예를 들면 다음과 같습니다.
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: 학습시킬 Edge 모델의 유형입니다. 옵션은 다음과 같습니다.
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 실제 학습 비용은 이 값보다 작거나 같습니다. Edge 모델의 경우 예산은 1,000~100,000밀리 노드 시간이어야 합니다(1,000, 100,000 포함).
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
* | trainingTaskDefinition 에서 지정한 스키마 파일의 설명은 이 필드의 사용법을 설명합니다. |
† | trainingTaskDefinition 에서 지정한 스키마 파일은 이 필드를 선언하고 설명합니다. |
HTTP 메서드 및 URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 요청 본문:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "true", "modelType": ["EDGE_MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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 \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
응답에는 사양 및 TRAININGPIPELINE_ID에 대한 정보가 포함됩니다.
TRAININGPIPELINE_ID를 사용하여 trainingPipeline 작업의 상태를 가져올 수 있습니다.
객체 감지
학습 시에는 특정 사용 사례에 따라 원하는 AutoML Edge 모델 유형을 선택할 수 있습니다.
- 짧은 지연 시간(
MOBILE_TF_LOW_LATENCY_1
) - 범용 용도(
MOBILE_TF_VERSATILE_1
) - 예측 품질 개선(
MOBILE_TF_HIGH_ACCURACY_1
)
아래에서 언어 또는 환경에 대한 탭을 선택하세요.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 데이터 세트가 있고 모델이 생성된 리전입니다. 예를 들면
us-central1
입니다. - PROJECT: 프로젝트 ID
- TRAININGPIPELINE_DISPLAYNAME: 필수. trainingPipeline의 표시 이름입니다.
- DATASET_ID: 학습에 사용할 데이터 세트의 ID 번호입니다.
fractionSplit
: 선택사항. 가능한 여러 ML 중 하나가 데이터에 분할 옵션을 사용합니다.fractionSplit
의 경우 값은 합계가 1이어야 합니다. 예를 들면 다음과 같습니다.-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline에서 업로드(생성)한 모델의 표시 이름입니다.
- MODEL_DESCRIPTION*: 모델에 대한 설명입니다.
- modelToUpload.labels*: 모델을 구성할 모든 키-값 쌍 세트입니다. 예를 들면 다음과 같습니다.
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†: 학습시킬 Edge 모델의 유형입니다. 옵션은 다음과 같습니다.
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 실제 학습 비용은 이 값보다 작거나 같습니다. Cloud 모델의 경우 예산은 20,000~900,000밀리 노드 시간이어야 합니다(20,000, 900,000 포함). 기본값은 실제 경과 시간으로 1일을 나타내는 216,000이며, 9개의 노드가 사용되었음을 의미합니다.
- PROJECT_NUMBER: 프로젝트의 프로젝트 번호
* | trainingTaskDefinition 에서 지정한 스키마 파일의 설명은 이 필드의 사용법을 설명합니다. |
† | trainingTaskDefinition 에서 지정한 스키마 파일은 이 필드를 선언하고 설명합니다. |
HTTP 메서드 및 URL:
POST http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 요청 본문:
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": "DECIMAL", "validationFraction": "DECIMAL", "testFraction": "DECIMAL" } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME", "description": "MODEL_DESCRIPTION", "labels": { "KEY": "VALUE" } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODELTYPE"], "budgetMilliNodeHours": NODE_HOUR_BUDGET } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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 \
"http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
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 "http://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
응답에는 사양 및 TRAININGPIPELINE_ID에 대한 정보가 포함됩니다.
TRAININGPIPELINE_ID를 사용하여 trainingPipeline 작업의 상태를 가져올 수 있습니다.
동영상
아래에서 목표에 대한 탭을 선택합니다.
동작 인식
학습 시 다음 AutoML Edge 유형을 선택합니다.
MOBILE_VERSATILE_1
: 범용 용도
REST
요청 데이터를 사용하기 전에 다음을 바꿉니