์ด ํ์ด์ง์์๋ Google Cloud ์ฝ์ ๋๋ Vertex AI API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์ธํธ์์ AutoML ๋ถ๋ฅ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
AutoML ๋ชจ๋ธ ํ์ต
Google Cloud ์ฝ์
Google Cloud ์ฝ์์ Vertex AI ์น์ ์์ ๋ฐ์ดํฐ ์ธํธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ชจ๋ธ์ ํ์ต์ํค๋ ๋ฐ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ธํธ์ ์ด๋ฆ์ ํด๋ฆญํ์ฌ ์ธ๋ถ์ ๋ณด ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
์ ๋ชจ๋ธ ํ์ต์ ํด๋ฆญํฉ๋๋ค.
ํ์ต ๋ฉ์๋๋ก
AutoML์ ์ ํํฉ๋๋ค.๊ณ์์ ํด๋ฆญํฉ๋๋ค.
๋ชจ๋ธ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
ํ์ต ๋ฐ์ดํฐ ๋ถํ ๋ฐฉ๋ฒ์ ์๋์ผ๋ก ์ค์ ํ๋ ค๋ฉด ๊ณ ๊ธ ์ต์ ์ ํผ์น๊ณ ๋ฐ์ดํฐ ๋ถํ ์ต์ ์ ์ ํํฉ๋๋ค. ์์ธํ ์์๋ณด๊ธฐ
ํ์ต ์์์ ํด๋ฆญํฉ๋๋ค.
๋ฐ์ดํฐ์ ๊ท๋ชจ ๋ฐ ๋ณต์ก์ฑ๊ณผ ํ์ต ์์ฐ(์ง์ ํ ๊ฒฝ์ฐ)์ ๋ฐ๋ผ ๋ชจ๋ธ ํ์ต์ ๋ง์ ์๊ฐ์ด ์์๋ ์ ์์ต๋๋ค. ํญ์ ๋ซ์๋ค๊ฐ ๋์ค์ ๋ค์ ๋์์๋ ๋ฉ๋๋ค. ๋ชจ๋ธ ํ์ต์ด ์๋ฃ๋๋ฉด ์ด๋ฉ์ผ์ด ์ ์ก๋ฉ๋๋ค.
API
์๋์์ ๋ชฉํ์ ๋ํ ํญ์ ์ ํํฉ๋๋ค.
๋ถ๋ฅ
์๋์์ ์ธ์ด ๋๋ ํ๊ฒฝ์ ๋ํ ํญ์ ์ ํํ์ธ์.
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"
- MODELTYPEโ : ํ์ต์ํฌ ํด๋ผ์ฐ๋ ํธ์คํ
๋ชจ๋ธ์ ์ ํ์
๋๋ค. ์ต์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CLOUD
(๊ธฐ๋ณธ)
- NODE_HOUR_BUDGETโ : ์ค์ ํ์ต ๋น์ฉ์ ์ด ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค. Cloud ๋ชจ๋ธ์ ๊ฒฝ์ฐ ์์ฐ์ 8,000~800,000๋ฐ๋ฆฌ ๋ ธ๋ ์๊ฐ์ด์ด์ผ ํฉ๋๋ค(8,000, 800,000 ํฌํจ). ๊ธฐ๋ณธ๊ฐ์ ์ค์ ๊ฒฝ๊ณผ ์๊ฐ์ผ๋ก 1์ผ์ ๋ํ๋ด๋ 192,000์ด๋ฉฐ, 8๊ฐ์ ๋ ธ๋๊ฐ ์ฌ์ฉ๋์์์ ์๋ฏธํฉ๋๋ค.
- PROJECT_NUMBER: ํ๋ก์ ํธ์ ์๋์ผ๋ก ์์ฑ๋ ํ๋ก์ ํธ ๋ฒํธ
* | trainingTaskDefinition ์์ ์ง์ ํ ์คํค๋ง ํ์ผ์ ์ค๋ช
์ ์ด ํ๋์ ์ฌ์ฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค. |
โ | trainingTaskDefinition ์์ ์ง์ ํ ์คํค๋ง ํ์ผ์ ์ด ํ๋๋ฅผ ์ ์ธํ๊ณ ์ค๋ช
ํฉ๋๋ค. |
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://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": ["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 \
"https://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 "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
์๋ต์๋ ์ฌ์ ๋ฐ TRAININGPIPELINE_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 ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ถ๋ฅ
์๋์์ ์ธ์ด ๋๋ ํ๊ฒฝ์ ๋ํ ํญ์ ์ ํํ์ธ์.
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"
- MODELTYPEโ : ํ์ต์ํฌ ํด๋ผ์ฐ๋ ํธ์คํ
๋ชจ๋ธ์ ์ ํ์
๋๋ค. ์ต์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
CLOUD
(๊ธฐ๋ณธ)
- NODE_HOUR_BUDGETโ : ์ค์ ํ์ต ๋น์ฉ์ ์ด ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ต๋๋ค. Cloud ๋ชจ๋ธ์ ๊ฒฝ์ฐ ์์ฐ์ 8,000~800,000๋ฐ๋ฆฌ ๋ ธ๋ ์๊ฐ์ด์ด์ผ ํฉ๋๋ค(8,000, 800,000 ํฌํจ). ๊ธฐ๋ณธ๊ฐ์ ์ค์ ๊ฒฝ๊ณผ ์๊ฐ์ผ๋ก 1์ผ์ ๋ํ๋ด๋ 192,000์ด๋ฉฐ, 8๊ฐ์ ๋ ธ๋๊ฐ ์ฌ์ฉ๋์์์ ์๋ฏธํฉ๋๋ค.
- PROJECT_NUMBER: ํ๋ก์ ํธ์ ์๋์ผ๋ก ์์ฑ๋ ํ๋ก์ ํธ ๋ฒํธ
* | trainingTaskDefinition ์์ ์ง์ ํ ์คํค๋ง ํ์ผ์ ์ค๋ช
์ ์ด ํ๋์ ์ฌ์ฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค. |
โ | trainingTaskDefinition ์์ ์ง์ ํ ์คํค๋ง ํ์ผ์ ์ด ํ๋๋ฅผ ์ ์ธํ๊ณ ์ค๋ช
ํฉ๋๋ค. |
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://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": ["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 \
"https://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 "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
์๋ต์๋ ์ฌ์ ๋ฐ TRAININGPIPELINE_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 ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
REST๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ถํ ์ ์ด
ํ์ต ๋ฐ์ดํฐ๊ฐ ํ์ต, ๊ฒ์ฆ, ํ
์คํธ ์ธํธ ๊ฐ์ ๋ถํ ๋๋ ๋ฐฉ์์ ์ ์ดํ ์ ์์ต๋๋ค. Vertex AI API๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Split
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ถํ ์ ๊ฒฐ์ ํฉ๋๋ค. Split
๊ฐ์ฒด๋ InputConfig
๊ฐ์ฒด์ ์ฌ๋ฌ ๊ฐ์ฒด ์ ํ ์ค ํ๋๋ก ํฌํจ๋์ด ์์ผ๋ฉฐ, ๊ฐ ๊ฐ์ฒด๋ ํ์ต ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ํ๋์ ๋ฐฉ๋ฒ๋ง ์ ํํ ์ ์์ต๋๋ค.
-
FractionSplit
:- TRAINING_FRACTION: ํ์ต ์ธํธ์ ์ฌ์ฉํ ํ์ต ๋ฐ์ดํฐ์ ๋น์จ์ ๋๋ค.
- VALIDATION_FRACTION: ๊ฒ์ฆ ์ธํธ์ ์ฌ์ฉํ ํ์ต ๋ฐ์ดํฐ์ ๋น์จ์ ๋๋ค. ๋์์ ๋ฐ์ดํฐ์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- TEST_FRACTION: ํ ์คํธ ์ธํธ์ ์ฌ์ฉํ ํ์ต ๋ฐ์ดํฐ์ ๋น์จ์ ๋๋ค.
๋น์จ ์ค ํ๋๋ผ๋ ์ง์ ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ง์ ํด์ผ ํฉ๋๋ค. ๋น์จ์ ํฉ์ 1.0์ด ๋์ด์ผ ํฉ๋๋ค. ๋น์จ์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์์ธํ ์์๋ณด๊ธฐ
"fractionSplit": { "trainingFraction": TRAINING_FRACTION, "validationFraction": VALIDATION_FRACTION, "testFraction": TEST_FRACTION },
-
FilterSplit
: - TRAINING_FILTER: ์ด ํํฐ์ ์ผ์นํ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ํ์ต ์ธํธ์ ์ฌ์ฉ๋ฉ๋๋ค.
- VALIDATION_FILTER: ์ด ํํฐ์ ์ผ์นํ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๊ฒ์ฆ ์ธํธ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋์์ ๋ฐ์ดํฐ๋ '-'์ฌ์ผ ํฉ๋๋ค.
- TEST_FILTER: ์ด ํํฐ์ ์ผ์นํ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ํ ์คํธ ์ธํธ์ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ํํฐ๋ ml_use
๋ผ๋ฒจ ๋๋ ๋ฐ์ดํฐ์ ์ ์ฉํ๋ ๋ชจ๋ ๋ผ๋ฒจ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. ml-use ๋ผ๋ฒจ๊ณผ ๊ธฐํ ๋ผ๋ฒจ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์์๋ณด์ธ์.
๋ค์ ์์์์๋ ๊ฒ์ฆ ์ธํธ๊ฐ ํฌํจ๋ ml_use
๋ผ๋ฒจ๊ณผ ํจ๊ป filterSplit
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
"filterSplit": { "trainingFilter": "labels.aiplatform.googleapis.com/ml_use=training", "validationFilter": "labels.aiplatform.googleapis.com/ml_use=validation", "testFilter": "labels.aiplatform.googleapis.com/ml_use=test" }