Das Vertex AI SDK enthält die Klasse Model
, um mit einem Modell zu arbeiten, das Sie trainieren und dann für Vorhersagen verwenden. Das SDK enthält auch die Klasse ModelEvaluation
, um Messwerte für trainierte AutoML-Modellen auszuwerten. Weitere Informationen zu Modellen finden Sie unter Eigene Modelle trainieren und verwenden.
Model
Die Klasse Model
stellt ein trainiertes Modell dar, das in der Vertex AI Model Registry registriert ist. Sie verwenden ein trainiertes Modell, um Vorhersagen zu generieren.
Mit der Methode aiplatform.Model()
können Sie einen Verweis auf ein Modell ermitteln und zurückgeben. Sie können ein Modell anhand seines Namens oder seiner ID angeben.
Da mehr als ein Modell in einem Projekt denselben Namen haben kann, empfehlen wir, ein Modell mit seiner Modell-ID anzugeben. Im folgenden Codebeispiel wird gezeigt, wie Sie mithilfe einer Modell-ID einen Verweis auf ein vorhandenes Modell suchen und zurückgeben:
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
Nachdem Sie einen Verweis auf ein trainiertes Modell haben, können Sie die Attribute und Methoden des Model
verwenden, um damit zu arbeiten und Vorhersagen zu erhalten.
Registriertes Modell erstellen
Rufen Sie zum Erstellen einer Modellressource, die in der Vertex AI Model Registry registriert ist, die Methode run
für eine Trainingsjobklasse auf.
Mit den folgenden Methoden wird ein Modell erstellt, trainiert und in der Vertex AI Model Registry registriert und dann ein Verweis auf das Modell zurückgegeben.
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
Der folgende Beispielcode zeigt, wie Sie eine CustomTrainingJob
-Ressource erstellen und dann mit der zugehörigen Methode run
ein Modell erstellen, trainieren und in der Vertex AI Model Registry registrieren und einen Verweis auf das Modell zurückgeben:
# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
display_name="my-training-job",
script_path="task.py",
container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)
# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
dataset=dataset,
model_display_name="my-model-name",
bigquery_destination=f"bq://{project_id}",
args=CMDARGS,
)
Nicht registriertes Modell erstellen
Verwenden Sie zum Erstellen eines Modells, das nicht in der Vertex AI Model Registry registriert ist, die Klasse CustomJob
und die zugehörige run
-Methode. Die Methode CustomJob.run
trainiert ein Modell, registriert es jedoch nicht in der Vertex AI Model Registry und gibt keinen Verweis auf Modell zurück.
Wenn Sie die Klasse CustomJob
verwenden, müssen Sie ein Script verwenden, um Ihr Modell an einen Speicherort wie einen Cloud Storage-Bucket zu schreiben. Weitere Informationen finden Sie unter Trainiertes ML-Modell exportieren.
Modell registrieren
Wenn Sie ein Modell haben, das nicht bei der Vertex AI Model Registry registriert ist, müssen Sie es registrieren, damit Sie den Lebenszyklus Ihres Modells verwalten können. Vertex AI Model Registry ist ein zentrales Repository, das eine Übersicht über Ihre Modelle bietet, sodass Sie sie verwalten können. Weitere Informationen finden Sie unter Einführung in Vertex AI Model Registry.
Das Vertex AI SDK enthält die folgenden Methoden, um ein Modell in die Vertex AI Model Registry zu importieren. Klicken Sie auf eine der Methoden, um weitere Informationen dazu im Vertex AI SDK-Referenzhandbuch zu erhalten.
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
Modell bereitstellen
Nachdem Sie ein Modell registriert haben, müssen Sie es auf einem Endpunkt bereitstellen, bevor Sie es für Vorhersagen verwenden können. Verwenden Sie die Methode Model.deploy
, um Ihr Modell auf einem Endpoint
bereitzustellen. Weitere Informationen finden Sie unter Modell auf einem Endpunkt bereitstellen.
ModelEvaluation
Verwenden Sie die Klasse ModelEvaluation
, um Bewertungsmesswerte für AutoML-Modelle wie Precision und Recall abzurufen, um die Leistung Ihrer Modelle zu ermitteln. Weitere Informationen finden Sie unter Modellbewertung in Vertex AI.
Im folgenden Codebeispiel wird gezeigt, wie Sie alle Bewertungen für ein Modell mit der Modell-ID model-id
auflisten, das sich in einem Projekt mit der Projekt-ID my-project
und in der Region us-central1
befindet:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
Das folgende Codebeispiel zeigt, wie Sie die Modellbewertung für ein Modell mit der Modell-ID model-id
abrufen, das sich in einem Projekt mit der Projekt-ID my-project
und in der Region us-central1
befindet:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()
eval_metrics = evaluation.metrics
Verwenden Sie den Ressourcennamen oder die Modell-ID und die Bewertungs-ID, um einen Verweis auf eine Modellbewertung zu erstellen. Im folgenden Codebeispiel wird gezeigt, wie Sie mit dem Ressourcennamen einen Verweis auf eine Modellbewertung erstellen:
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
Das folgende Codebeispiel zeigt, wie Sie mithilfe der Modell-ID und der Bewertungs-ID einen Verweis auf eine Modellbewertung erstellen:
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics