如何为Vertex AI现有数据集追加数据并重训练模型?有无Python流程?
追加数据到现有Vertex AI数据集
UI操作流程
- 登录Vertex AI控制台,定位到目标单标签数据集详情页
- 点击右上角添加数据,选择数据来源(云存储、本地文件等)
- 确认新数据格式与原数据集匹配(比如单标签分类CSV需包含
image_uri/text_content和label列,标签值需与原数据集一致) - 完成导入配置后启动任务,等待数据追加及预处理完成
Python实现
使用Vertex AI Python SDK完成数据追加,示例代码如下:
from google.cloud import aiplatform # 初始化客户端 aiplatform.init(project="你的项目ID", location="你的区域") # 获取现有数据集(根据数据类型选择Tabular/Image/TextDataset) dataset = aiplatform.TabularDataset("projects/你的项目ID/locations/你的区域/datasets/你的数据集ID") # 新数据的云存储路径 gcs_source = "gs://你的存储桶路径/新数据文件.csv" # 创建并启动数据导入作业 import_job = dataset.import_data( gcs_source=gcs_source, # 单标签分类对应schema,根据数据类型替换 import_schema_uri=aiplatform.schema.dataset.ioformat.tabular.single_label_classification ) # 等待作业完成 import_job.wait()
重训练现有AutoML模型
UI操作流程
- 进入Vertex AI控制台的模型页面,找到目标模型的详情页
- 点击训练新版本,选择已追加数据的现有数据集
- 确认训练配置(训练预算、优化目标等建议与原模型一致,保证性能对比公平)
- 启动训练任务,待新版本模型生成后,可选择部署到现有端点替换旧模型,或部署到新端点
Python实现
通过SDK触发重训练并可选部署模型,示例代码如下:
from google.cloud import aiplatform aiplatform.init(project="你的项目ID", location="你的区域") # 获取更新后的数据集 dataset = aiplatform.TabularDataset("projects/你的项目ID/locations/你的区域/datasets/你的数据集ID") # 创建AutoML训练作业(根据数据类型选择对应TrainingJob) training_job = aiplatform.AutoMLTabularTrainingJob( display_name="重训练单标签模型", optimization_prediction_type="classification", optimization_objective="maximize-au-roc" ) # 启动训练任务 model = training_job.run( dataset=dataset, target_column="你的标签列名", training_fraction_split=0.7, validation_fraction_split=0.2, test_fraction_split=0.1, budget_milli_node_hours=1000 # 与原模型一致的训练预算 ) # (可选)部署新版本模型到现有端点 endpoint = aiplatform.Endpoint("projects/你的项目ID/locations/你的区域/endpoints/你的端点ID") endpoint.deploy(model=model, machine_type="n1-standard-4")
注意事项
- 追加数据时,新数据的标签集合需与原数据集一致;若需新增标签,需先更新数据集的标签Schema
- 重训练时保持训练配置与原模型一致,便于对比模型性能变化
- 若原模型通过自定义管道创建,可复用现有管道,仅替换输入数据集即可触发重训练
内容的提问来源于stack exchange,提问作者Rakesh Saini
相关产品推荐
相关产品推荐

