本页面介绍如何使用 Cloud Logging 查看 AutoML Tables 模型的详细信息。使用 Logging,您可以查看最终模型超参数以及模型训练和调节过程中使用的超参数和对象值。
您还可以在项目中查看 AutoML Tables 常规日志。
记录的数据
AutoML Tables 生成的日志记录消息提供以下内容:
- 最终模型超参数(作为键值对)。
- 调节试验期间使用的超参数以及目标值。
默认情况下,系统会在 30 天后删除日志。
准备工作
- 熟悉 Cloud Logging。
执行此任务所需的权限
如需执行此任务,您必须拥有下列权限:
- 针对项目的
logging.logServiceIndexes.list
权限 - 针对项目的
logging.logServices.list
权限
查看训练日志
从 Google Cloud 控制台访问模型日志
您可以直接从 AutoML Tables 访问最终超参数日志和调节试验超参数日志。
转到 Google Cloud 控制台中的 AutoML Tables 页面。
选择左侧导航窗格中的模型标签页,然后点击模型名称以打开模型。
选择“模型”标签页。
要查看最终超参数日志,请点击模型。
要查看调节试用超参数,请点击试用。
展开负载,如下所示:
读取模型架构日志
LogEntry 类型文档中介绍了活动日志的结构。
以下为 AutoML Tables 模型日志包含的一些字段:
- 作为
log_type
字段值的automl_tables
- 包含日志条目具体详细信息的
jsonPayload
- 描述模型创建时间的
timestamp
负载内容
日志条目的内容会以 JSON 对象格式提供,并存储在 jsonPayload
字段中。jsonPayload
字段包含以下信息。
字段 | 类型 | 说明 |
---|---|---|
modelStructure |
JSON |
AutoML Tables 模型结构的说明。此字段包含一个或多个 请参阅超参数列表了解详情。 |
trainingObjectivePoint |
JSON | 用于模型训练的优化目标。此条目包含记录日志条目时的时间戳和目标值。 |
超参数列表
日志中提供的超参数数据因模型类型而异。以下部分介绍了每个模型类型的超参数。
AdaNet 模型
- 模型类型:
AdaNet
- AdaNet lambda
- 复杂度类型
- 初始层数
- 最终层类型(
logits
或prelogits
) - 增加层大小
- 了解混合权重(
True
或False
) - 了解余量(
True
或False
) - 增强迭代
优化器(
adagrad
或adam
)
AdaNet AutoEnsemble 模型
- 模型类型:
AdaNet AutoEnsembler
- 隐藏层数量
- 隐藏层大小
- 漏失
- L1 正则化强度
- L2 正则化强度
- L2 收缩正则化强度
- 树复杂度
- 树深度上限
- 居中偏好(
True
或False
) - 成长模式(
layer
或tree
) - 增强迭代
DNN 优化器(
adagrad
或adam
)
DNN 线性模型
- 模型类型:
DNNLinear
- 隐藏层数量
- 隐藏层大小
- 漏失
- L1 正则化强度
- L2 正则化强度
L2 收缩正则化强度
梯度提升决策树模型
- 模型类型:
GBDT
- 树深度上限
- 树 L1 正则化
- 树 L2 正则化
- 树复杂度
- 树数量
居中偏好(
True
或False
)
前馈神经网络模型
- 模型类型:
nn
- 隐藏层大小
- 漏失率
- 启用数值嵌入(
True
或False
) - 启用 L1(
True
或False
) - 启用 L2(
True
或False
) - 启用嵌入 L1(
True
或False
) - 启用嵌入 L2(
True
或False
) - 启用 layerNorm(
True
或False
) - 启用 batchNorm(
True
或False
) - 隐藏层数量
- 交叉层数
- 跳过连接类型(
dense
、disable
、concat
或slice_or_padding
) - 标准化数值列(
True
或False
)
示例日志条目
以下示例展示了 nn
模型的最终模型架构的日志条目(由 model_type
参数表示)。如果使用多个模型创建最终模型,则每个模型的超参数会作为 modelParameters
数组中的条目返回,并按位置(例如 0、1、2 等)编制索引。
{ insertId: "qx7z0ifhtjpkv" jsonPayload: { @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial" modelStructure: { modelParameters: [ 0: { Dropout rate: 0.75 Embedding numerical embedding: "True" Enable L1: "False" Enable L2: "False" Enable batchNorm: "True" Enable embedding L1: "False" Enable embedding L2: "False" Enable layerNorm: "False" Hidden layer size: 16 Normalize numerical column: "True" Number of cross layers: "1" Number of hidden layers: "2" Skip connections type: "dense" Model type: "nn" } ] } trainingObjectivePoint: { createTime: "2019-10-15T04:52:00Z" value: 0.002069325 } } labels: { log_type: "automl_tables" } logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning" receiveTimestamp: "2019-10-15T10:46:06.916277805Z" resource: { labels: { job_id: "109476078648557568" project_id: "project-id" region: "us-central1" } type: "cloudml_job" } severity: "INFO" timestamp: "2019-10-15T10:46:06.916277805Z" }
以下示例展示了调节期间模型架构的日志条目。
{ insertId: "nl7815f7p0cjb" jsonPayload: { @type: "type.googleapis.com/google.cloud.automl.master.TuningTrial" modelStructure: { modelParameters: [ 0: { hyperparameters: { Boosting iterations: "2" Grow layer size: "30" Initial number of layers: "1" Last layer type: "prelogits" Learn residuals: "False" Model type: "AdaNet" Optimizer: "adam" } } ] } trainingObjectivePoint: { createTime: "2019-10-13T20:42:25Z" value: 0.0000011595778 } } labels: { log_type: "automl_tables" } logName: "projects/project-id/logs/automl.googleapis.com%2Ftuning" receiveTimestamp: "2019-10-13T21:20:08.189302731Z" resource: { labels: { job_id: "2804289077287845888" project_id: "project-id" region: "us-central1" } type: "cloudml_job" } severity: "INFO" timestamp: "2019-10-13T21:20:08.189302731Z" }
查看常规 AutoML Tables 日志
您可以通过 Google Cloud 控制台中的日志浏览器查看项目的活动日志:
- 转到 Google Cloud 控制台中的 Logging 页面。
- 在 Logs Explorer 中,从第一个下拉菜单中选择并过滤资源类型。
- 从所有日志下拉菜单中选择 automl.googleapis.com/tuning 来查看 AutoML Tables 日志。
导出日志
您可以将日志导出到 BigQuery、Cloud Storage 或 Pub/Sub。
阅读 Logging 文档中的配置日志导出,了解如何导出活动日志。