ai-center
latest
false
- 发行说明
- 入门指南
- 通知
- 项目
- 数据集
- 数据标签
- ML 包
- 开箱即用包
- 管道
- ML 技能
- ML 日志
- AI Center 中的 Document Understanding™
- AI Center API
- 许可
- AI 解决方案模板
- 如何
- 基本故障排除指南
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
AI Center
Last updated 2024年11月19日
完整管道
完整管道用于一次性训练新的机器学习模型并评估此新模型的性能。此外,在训练之前运行预处理步骤,从而允许对经过训练的机器学习模型进行数据操作/训练。
要使用此管道,包必须包含用于处理数据以及训练、评估和保存模型的代码(train.py 文件中的
process_data()
、train ()
、evaluate()
和 save()
函数)。此代码与数据集或数据集中的子文件夹以及评估数据集(可选)一起生成新的包版本、分数(evaluate()
函数为新版本的模型返回的内容)以及用户想要保留的任何其他输出。
按此处所述创建新的完整管道。确保提供以下特定于完整管道的信息:
- 在“管道类型”字段中,选择“完整管道运行”。
- 在“选择输入数据集”字段中,选择要从中导入数据以进行完整训练的数据集或文件夹。在管道运行时,该数据集/文件夹中的所有文件应在
data_directory
变量中存储的路径上本地可用。 - (可选)在“选择评估数据集”字段中,选择要从中导入数据以进行评估的数据集或文件夹。在管道运行时,该数据集/文件夹中的所有文件应在
test_data_directory
变量中存储的路径上本地可用。如果未选择任何文件夹,则预计您的管道会将某些内容写入到process_data
函数的test_data_directory
变量中存储的目录。如果您未选择文件夹,并且您的process_data
未写入到test_data_directory
,则传递到评估函数的目录将为空。 - 在“输入参数”部分中,输入管道定义和使用的环境变量(如果有)。环境变量包括:
training_data_directory
,默认值为 dataset/training:定义管道可在本地访问训练数据的位置。此目录用作train()
函数的输入。大多数用户将不必通过用户界面覆盖此参数,只需将数据写入到process_data
函数的os.environ['training_data_directory']
中,并且预期可以使用train(self, data_directory
来调用os.environ['training_data_directory']
中的参数 data_directory。test_data_directory
,默认值为 dataset/test:定义管道可在本地访问测试数据的位置。此目录用作evaluate()
函数的输入。大多数用户将不必通过用户界面覆盖此参数,只需将数据写入到process_data
函数的os.environ['test_data_directory']
中,并且预期可以使用evaluate(self, data_directory
来调用os.environ['test_data_directory']
中的参数 data_directory。artifacts_directory
,默认值为 artifacts:这定义目录的路径,该目录将保留为与此管道相关的辅助数据。大多数用户(如果不是所有用户)都不必通过用户界面覆盖此参数。管道执行期间可以保存任何内容,包括图像、pdf 和子文件夹。具体而言,代码在路径os.environ['artifacts_directory']
指定的目录中写入的所有数据都会在管道运行结束时上传,并且可以从“管道详细信息”页面中查看。save_training_data
,默认值为 true:如果设置为 true,则training_data_directory
文件夹将在管道运行结束时作为管道的输出上传到目录training_data_directory
下。save_test_data
,默认值为 true:如果设置为 true,则test_data_directory
文件夹将在管道运行结束时作为管道的输出上传到目录test_data_directory
下。
根据是否选择评估数据集,您可以创建完整管道:
- 显式选择评估数据
观看以下视频,了解如何使用新训练的包版本 1.1 来创建完整管道。请务必选择与输入数据集和评估数据集相同的数据集(在本示例中为教程数据集)。
- 不显式选择评估数据
观看以下视频,了解如何使用新训练的包版本 1.1 来创建完整管道。选择输入数据集,但取消选择评估数据集。
注意:管道执行可能需要一些时间。稍后请返回以查看其状态。
执行管道后,在“管道”页面中,管道的状态将更改为“成功”。“管道详细信息”页面会显示与管道运行相关的任意文件和文件夹。
train()
函数在 train.csv 上训练,而不在数据文件夹的未更改内容(example1.txt和 example2.txt)上训练。process_data
可用于根据任何用户定义的参数动态拆分数据。- The first full pipeline runs evaluations on a directory with example1.txt,example2.txt, and test.csv. The second full pipeline runs evaluations on a directory with only test.csv. This is the difference in not selecting an evaluation set explicitly when creating the second full pipeline run. This way you can have evaluations on new data from UiPath® Robots, as well as dynamically split data already in your project.
- 每个单独的组件都可以将任意工件(直方图、TensorBoard 日志和分布图等)写入到管道。
- ML 包 zip 文件是由训练管道自动生成的新的包版本。
- artifacts 文件夹(仅在不为空时可见)用于对管道生成的所有工件进行重新分组,并且保存在
artifacts_directory
文件夹下。 - training 文件夹(仅在
save_training_data
设置为 true 时可见)是training_data_directory
文件夹的副本。 - test 文件夹(仅在
save_training_data
设置为 true 时可见)是test_data_directory
文件夹的副本。
以下是某个包(例如版本 1.1)上的完整管道执行的概念类推,以及版本 1.0 上训练管道的输出。
重要事项:这是一个简化的示例。其目的是说明数据集和包在完整管道中的交互方式。这些步骤仅是概念性步骤,并不代表平台的工作方式。
_results.json
文件包含管道运行执行的摘要,并显示完整管道的所有输入/输出和执行时间。{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"input_data": "<storage_directory>",
"evaluation_data": "<storage_directory>/None",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"previous_score": <previous_score>, #float
"current_score": <current_score>, #float
"training_data": "<training_storage_directory>/None",
"test_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
"package": "<Package_name>",
"version": "<new_version>"
}
}
}
{
"parameters": {
"pipeline": "< Pipeline_name >",
"inputs": {
"package": "<Package_name>",
"version": "<version_number>",
"input_data": "<storage_directory>",
"evaluation_data": "<storage_directory>/None",
"gpu": "True/False"
},
"env": {
"key": "value",
...
}
},
"run_summary": {
"execution_time": <time>, #in seconds
"start_at": <timestamp>, #in seconds
"end_at": <timestamp>, #in seconds
"outputs": {
"previous_score": <previous_score>, #float
"current_score": <current_score>, #float
"training_data": "<training_storage_directory>/None",
"test_data": "<test_storage_directory>/None",
"artifacts_data": "<artifacts_storage_directory>",
"package": "<Package_name>",
"version": "<new_version>"
}
}
}