Questa pagina spiega come etichettare le risorse e come utilizzarle per per organizzare e filtrare le risorse.
Panoramica delle etichette
Puoi aggiungere etichette ad AI Platform Training jobs, utilizzali le etichette per organizzare le risorse in categorie durante la visualizzazione o il monitoraggio Google Cloud.
Ad esempio, puoi etichettare i job per team (ad esempio engineering
o
research
) e la fase di sviluppo (prod
o test
), quindi filtra i job
in base al team e alla fase.
Le etichette sono disponibili anche per le operazioni, ma queste etichette derivano dalla risorsa a cui si applica l'operazione. Non puoi aggiungere o aggiornare le etichette di un'operazione.
Un'etichetta è una coppia chiave-valore, in cui la chiave e il valore sono entrambi stringhe personalizzate fornite da te.
Limiti e regole:
- Massimo 64 etichette per risorsa.
- Massimo 63 caratteri per chiave o valore.
- Le chiavi e i valori possono contenere lettere minuscole, caratteri numerici, trattini bassi e trattini.
- Le chiavi devono iniziare con una lettera.
- Sono consentiti caratteri internazionali.
Esempi:
- Etichette che indicano il team o il centro di costo:
team:engineering
eteam:research
. - Etichette che indicano la fase di sviluppo:
phase:prod
ephase:test
. - Etichette che indicano il proprietario o il contatto:
owner:alice
eowner:bob
.
Aggiunta di etichette durante la creazione di una risorsa
Quando crei una risorsa, puoi utilizzare il comando gcloud
o l'API AI Platform Training and Prediction nella tua applicazione Python per aggiungere etichette ai job. Scegli una scheda di seguito per visualizzare esempi di ciascun metodo di aggiunta di etichette:
console
Devi creare la risorsa prima di aggiungere le etichette. Consulta come aggiungere e aggiornare le etichette.
gcloud
Quando crei una nuova risorsa, specifica il campo labels
per collegare un'etichetta
alla nuova risorsa.
Per gli esempi riportati di seguito, supponiamo di voler utilizzare queste etichette:
team:engineering
, phase:test
e owner:alice
.
Per praticità, configura una variabile di ambiente contenente le etichette:
RESOURCE_LABELS="team=engineering,phase=test,owner=alice"
Il codice seguente invia un job di addestramento con il valore etichette:
JOB_NAME="your_job_name"
TRAINER_PACKAGE_PATH="/path/to/your/application/sources"
MAIN_TRAINER_MODULE="trainer.task"
JOB_DIR="gs://your/job/output/path"
TRAIN_DATA="gs://your/training/data/path"
EVAL_DATA="gs://your/eval/data/path"
gcloud ai-platform jobs submit training $JOB_NAME \
--labels $RESOURCE_LABELS \
--scale-tier basic \
--package-path $TRAINER_PACKAGE_PATH \
--module-name $MAIN_TRAINER_MODULE \
--job-dir $JOB_DIR \
--runtime-version 2.11 \
--region $REGION \
-- \
--train-files $TRAIN_DATA \
--eval-files $EVAL_DATA \
--train-steps 1000
Python
Configura un dizionario contenente i campi per la risorsa che vuoi creare. Includi le etichette come voce del dizionario che viene mappata da stringhe a stringhe.
L'esempio seguente mostra come creare un job con tre
etichette: team:engineering
,phase:test
e owner:alice
.
training_inputs = {'scaleTier': 'BASIC',
'packageUris': ['gs://your/trainer/path/package-0.0.0.tar.gz'],
'pythonModule': 'trainer.task'
'args': ['--arg1', 'value1', '--arg2', 'value2'],
'region': 'us-central1',
'labels': {
'team': 'engineering',
'phase': 'test',
'owner': 'alice'
},
'jobDir': 'gs://your/training/job/directory',
'runtimeVersion': '2.11'}
job_spec = {'jobId': your_job_name, 'trainingInput': training_inputs}
Invia la richiesta:
request = cloudml.projects().jobs().create(body=job_spec,
parent=project_id)
response = request.execute()
Aggiornamento e rimozione delle etichette
Puoi aggiornare o rimuovere le etichette su job e modelli utilizzando il comando gcloud
o nell'applicazione Python. Non è possibile
aggiornano le etichette
sulle versioni esistenti dei modelli.
Scegli una scheda di seguito per visualizzare esempi di ciascun metodo di rimozione/aggiornamento delle etichette:
console
Apri la pagina della console Google Cloud relativa alla risorsa che vuoi etichetta:
Per etichettare i job, apri la pagina Job di AI Platform Training nella nella console Google Cloud.
Seleziona il
casella di controllo accanto ai nomi delle risorse che vuoi etichettare.La modifica delle etichette avviene nel riquadro a destra dei nomi delle risorse.
Per aggiungere etichette, inserisci la chiave (e, facoltativamente, il valore) per la dell'etichetta. Per aggiungere più etichette, fai clic sul pulsante Aggiungi etichetta.
Per rimuovere le etichette, passa il mouse sulla destra dell'etichetta e fai clic sul
Elimina visualizzata vengono visualizzati i video.
Dopo aver modificato le etichette, fai clic su Salva per confermare le modifiche oppure Ignora modifiche per ricominciare.
gcloud
Puoi usare il comando gcloud
per aggiornare o rimuovere le etichette su una
risorsa. Ad esempio, per regolare le etichette su un job, esegui
il comando gcloud ai-platform job update con
i seguenti flag:
--update-labels
per modificare il valore delle etichette esistenti e aggiungerne di nuove. Ad esempio, per cambiare il valore dell'etichettaphase
inproduction
e aggiungi una nuova etichettastatus
:gcloud ai-platform jobs update $JOB_NAME \ --update-labels phase=production,status=deployed
--clear-labels
per rimuovere tutte le etichette dal job. Se includi un--update-labels
nello stesso comando, il comando clear è applicato prima, seguito dal comando update. Ad esempio, per rimuovi tutte le etichette e applica le nuove etichettefoo
ebaz
:gcloud ai-platform jobs update $JOB_NAME \ --clear-labels \ --update-labels foo=bar,baz=qux
--remove-labels
per rimuovere etichette specifiche dal job. Se specificare un'etichetta che non esiste nel job, il comando remove viene ignorato per quell'etichetta. Ad esempio, per rimuoverestatus
evisibility
etichette:gcloud ai-platform jobs update $JOB_NAME \ --remove-labels=status,visibility
Python
Per rimuovere o aggiornare le etichette per un job esistente:
- Recupera il job utilizzando una richiesta
GET
. - Modifica il campo
labels
. - Aggiorna il job utilizzando una richiesta
PATCH
.
Nell'esempio seguente viene mostrato il pattern READ-MODIFY-WRITE per l'aggiornamento del job etichette:
existingJob = ml.projects().jobs().get(jobId=jobId).execute()
etag = existingJob['etag']
updatedJob = {
'labels': {
'phase': 'prod',
'team': 'research'
},
'etag': etag
}
updateJobRequest = ml.projects().jobs().patch(name=jobId,
body=updatedJob, updateMask='labels,etag')
updatedJob = updateJobRequest.execute()
Utilizzo delle etichette per filtrare le risorse
Quando le risorse sono elencate, puoi filtrarle per etichetta.
console
Apri la pagina della console Google Cloud relativa alla risorsa che vuoi filtro:
Per filtrare le offerte di lavoro, apri la pagina Job di AI Platform Training nella nella console Google Cloud.
Fai clic all'interno
nel campo Filtra per prefisso che si trova sopra l'elenco delle offerte di lavoro. Seleziona il prefisso Etichetta.Per completare il filtro, inserisci la chiave e il valore utilizzando la sintassi "key:value". Ad esempio, "team:ingegneria" o "owner:alice".
Il filtro viene applicato all'elenco delle risorse e il nome del filtro viene visualizzato nel campo del filtro. Ad esempio: "Etichette:proprietario:alice" o "Label:team:engineering". Puoi aggiungere più i filtri, se necessario.
gcloud
L'esempio seguente elenca tutti i job etichettati con entrambe le coppie chiave-valore
team:engineering
e la coppia chiave-valore owner:alice
:
gcloud ai-platform jobs list \
--filter='labels.team:engineering AND labels.owner=alice'
Python
L'esempio seguente utilizza la richiesta jobs.list
per recuperare tutti i job etichettati con entrambe le coppie chiave-valore
team:engineering
e la coppia chiave-valore owner:alice
:
request = ml.projects().jobs().list(parent=projectID,
filter='labels.team=engineering AND labels.owner=alice')
results = request.execute()
Passaggi successivi
- Scopri di più su gestione dei lavori.