机器学习管道的搭建与配置:从准备到定义的全流程指南
立即解锁
发布时间: 2025-09-10 01:24:44 阅读量: 12 订阅数: 16 AIGC 


表格数据机器学习实战
### 机器学习管道的搭建与配置:从准备到定义的全流程指南
在运行机器学习(ML)管道来训练和部署模型之前,需要设置管道所需的 Google Cloud 对象。以下将详细介绍相关步骤。
#### 1. ML 管道准备步骤
##### 1.1 创建 ML 管道的服务账户
为了能够自动运行 ML 管道而无需手动干预,需要设置一个服务账户来运行该管道。创建服务账户的步骤如下:
1. 从 Google Cloud 控制台的主菜单中选择“IAM & Admin” -> “Service Accounts”。
2. 在“Service Accounts”页面,选择“Create Service Account”。
3. 在“Create service account”页面,输入服务账户的名称,然后点击“Create and Continue”。注意,服务账户 ID 会自动填充,服务账户的电子邮件 ID 格式为“service - account - id@project - id.iam.gserviceaccount.com”。
4. 在“Role”字段中选择“Vertex AI User”,然后点击“Done”。
##### 1.2 创建服务账户密钥
ML 管道使用服务账户密钥来验证用于运行 ML 管道的服务账户。创建服务账户密钥的步骤如下:
1. 在“Service accounts”页面,点击刚刚创建的服务账户的电子邮件地址。
2. 选择“Keys”标签,然后点击“Add key” -> “Create new key”。
3. 选择“JSON”,然后点击“Create”。此时会创建一个包含服务账户密钥的 JSON 文件,并下载到本地系统,文件名类似“first - project - ml - tabular - 039ff1f820a8.json”。
##### 1.3 授予服务账户对 Compute Engine 默认服务账户的访问权限
在 Google Cloud 中设置项目时,会创建一个 Compute Engine 默认服务账户,其电子邮件地址类似“PROJECT_NUMBER - [email protected]”。为了运行 ML 管道,需要授予前面设置的服务账户对该默认服务账户的访问权限,步骤如下:
1. 在“Service accounts”页面,点击刚刚创建的服务账户电子邮件地址旁边的复制图标(下一步会用到),然后点击 Compute Engine 默认服务账户的电子邮件地址。
2. 点击“Permissions”标签,然后点击“Grant Access”。
3. 在“Grant access”页面,在“New Principals”字段中粘贴创建的服务账户的电子邮件 ID,在“Role”字段中选择“Service Account User”,然后点击“Save”。
##### 1.4 云 Shell 简介
到目前为止,在 Google Cloud 中执行的所有操作都是在控制台用户界面中进行的。Google Cloud 还提供了云 Shell,这是一个独立的实例,允许你运行命令行命令来与 Google Cloud 进行交互。除了命令行界面,还可以使用云 Shell 编辑器来编辑云 Shell 文件系统中的文件。云 Shell 结合了本地 Linux 实例的功能和基于 Web 环境的便利性,并且与 Google Cloud 资源集成。它特别适合进行原型设计和学习教程。启动云 Shell 的方法是点击 Google Cloud 控制台顶部的“Activate Cloud Shell”图标。点击该图标后,云 Shell 终端会在控制台底部打开,当前目录为你的主目录。你可以直接在云 Shell 终端中运行命令,包括标准的 Linux 命令和 Google Cloud 特定的命令。还可以点击“Open Editor”来编辑云 Shell 文件系统中的文件,点击“Open Terminal”返回云 Shell 终端。
##### 1.5 上传服务账户密钥
使用云 Shell 上传服务账户密钥 JSON 文件,并设置一个环境变量来指向服务账户密钥的位置,步骤如下:
1. 在云 Shell 中,将主目录设置为当前目录,创建一个名为“ml_pipeline”的新目录,然后将该新目录设置为当前目录:
```bash
cd ~
mkdir ml_pipeline
cd ml_pipeline
```
2. 要上传服务账户密钥,选择云 Shell 工具栏中的三个点,然后选择“Upload”。
3. 在“Upload”页面,将“Destination Directory”更新为主目录中的“ml_pipeline”目录,点击“Choose Files”,选择在前面步骤中下载的服务账户密钥 JSON 文件,然后点击“Upload”。
4. 通过将“~/ml_pipeline”设置为当前目录并使用“ls”命令来验证上传,确保 JSON 服务账户密钥现在位于该目录中:
```bash
cd ~/ml_pipeline
ls
```
5. 将环境变量“GOOGLE_APPLICATION_CREDENTIALS”设置为服务账户密钥 JSON 文件的完全限定文件名。例如:
```bash
export \
GOOGLE_APPLICATION_CREDENTIALS=\
'/home/ryanmark2023/ml_pipeline/\
first - project - ml - tabular - 039ff1f820a8.json'
```
6. 使用以下命令确认“GOOGLE_APPLICATION_CREDENTIALS”环境变量的值,并验证其是否设置为服务账户密钥文件的完全限定路径:
```bash
$ echo $GOOGLE_APPLICATION_CREDENTIALS
```
##### 1.6 将清理后的数据集上传到 Google Cloud Storage 存储桶
为了简化管道,将数据准备笔记本(https://mng.bz/rKjB)生成的处理后数据集上传到 Cloud Storage 存储桶,以便 ML 管道的其余部分可以访问。上传清理后数据集到 Google Cloud Storage 的步骤如下:
1. 将清理后数据集的 CSV 版本上传到用于上传模型的同一个存储桶。
2. 从 Google Cloud 控制台的主菜单中选择“Cloud Storage” -> “Buckets”。
3. 在“Buckets”页面,选择在前面章节中创建的用于包含训练模型的存储桶。在存储桶详细信息页面,选择“Create Folder”。
4. 在名称字段中输入“processed_dataset”,然后点击“Create”。
5. 选择刚刚创建的新文件夹。
6. 点击“Upload Files”,选择包含吉隆坡数据集处理版本的 CSV 文件(数据准备笔记本的输出)。
7. 上传完成后,会在存储桶详细信息页面看到该文件。点击三个点,然后选择“Copy gsutil URI”。gsutil 统一资源标识符(URI)的值类似“gs://first - project - ml - tabular - bucket/processed_dataset/kl_real_estate_output.csv”。
##### 1.7 创建 Vertex AI 托管数据集
ML 管道调用 Vertex AI SDK 来训练模型,它将用于训练模型的数据集识别为 Vertex AI 托管数据集。Vertex AI SDK 会自动执行以下操作,使托管数据集可用于训练脚本:
- 将数据集的内容复制到 Cloud Storage。
- 将数据集划分为训练、验证和测试子集。每个子集的数据集比例在管道配置文件“pipeline_config.yml”中设置。
- 将每个子集划分为多个 CSV 文件。
创建 Vertex AI 数据集用于训练数据的步骤如下:
1. 在 Vertex AI 中,选择“Datasets”。在“D
0
0
复制全文
相关推荐









