阿里云PAI Studio Python脚本组件使用Quick Start

简介: PAI-Studio提供自定义Python脚本的功能,您可以使用该组件运行自定义的Python函数,并且支持自定义安装依赖包。本文为您介绍该组件的配置详情,包括自定义输入输出桩数量、脚本设置及执行配置。本文通过使用Python脚本读取ODPS上游表,演示Python脚本组件的使用。

Step By Step

1、界面组件拖拽与配置
2、Python 组件相关配置
3、运行测试
4、日志查看


一、界面组件拖拽与配置

图片.png

  • 1.2 分别拖拽读数据表组件和Python脚本组件到画布

图片.png

二、组件相关配置

图片.png

脚本:
CREATE TABLE `lm_test_input_1` (
    `value` bigint,
    `output1` bigint
);

INSERT into table lm_test_input_1 values (1,2);

INSERT into table lm_test_input_1 values (2,4);

SELECT * FROM lm_test_input_1;
  • 2.2 配置读数据表组件

图片.png

  • 2.3 配置Python脚本组件

图片.png

main.py

from odps import ODPS
from pai_running.context import Context

context = Context()

# 获取组件第一个输入端口输入数据
input_port = context.input_artifacts.flatten()[0]
print("---input_port---",input_port)
print("---日志输出测试:---")

o = ODPS(
    access_id=context.access_key_id,
    secret_access_key=context.access_key_secret,
    endpoint=input_port.endpoint,
    project=input_port.project,
)

# 获取从上游输入的表名
input_table_name = input_port.table
print("---input_table_name---",input_table_name)
# 组件准备输出的表
output_table_name = "demo_output_table"

o.execute_sql(
    f"drop table if exists {output_table_name};",
)

# 获取输入表的age列,导出到一张新表中
o.execute_sql(
    f"create table {output_table_name} as select value from {input_table_name};"
)

# 通过以下调用,告知Workflow框架,当前组件输出了一张ODPS表
output_port = context.output_artifacts.flatten()[0]
output_port.write_table(
    table="demo_output_table",
    project=o.project,
    endpoint=o.endpoint,
)
执行配置脚本
{
    "_comments": [
        "Python 组件将用户代码运行在公共资源组的 DLC 集群 (https://help.aliyun.com/document_detail/202277.html)",
        "并且支持数据加载/保存本地文件系统,用户可以通过读写本地文件的方式,读写上下游的输入输出数据。",
        "目前运行的任务通过一个 JSON 文件进行配置,从功能角度,配置项主要包括两部分内容",
        "1. 数据载入/保存配置",
        "1.1. inputDataTunnel: 每一项对应组件的一个输入端口, 将上游节点的输入数据(MaxComputeTable, OSS) 加载到本地目录中;",
        "1.2. outputDataTunnel: 每一项对应组件的一个输出端口,指定将哪些本地文件上传保存到 OSS 中;",
        "1.3. uploadConfig: 数据上传的OSS配置, 包括上传的OSS bucket 名称, endpoint,以及上传到OSS的根路径 path;",
        "2. 运行负载配置(jobConfig),包含运行在 ServerLess DLC 的具体运行配置;",
        "注意: 以下的配置项是一个样例说明,请根据实际组件运行的场景修改使用。",
        "注意: 用户的代码执行的日志输出,可以通过点击组件输出的 DLC 的任务URL,去DLC的控制台查看"
    ],
    "inputDataTunnel": [
    ],
    "outputDataTunnel": [
    ],
    "uploadConfig": {
        "endpoint": "oss-<oss bucket region>.aliyuncs.com",
        "bucket": "<oss bucket name>",
        "path": "python_example/",
        "_comments": [
            "数据上传配置项, 目前数据上传功能只支持上传到 OSS。",
            "如果单独的 outputDataTunnel 中没有数据上传配置(没有.uploadConfig 字段),则会使用全局的uploadDataTunnelConfig配置",
            "note:每一个DataTunnel 指定的文件/目录,最终的上传的路径为 uploadConfig.path/{run_id}/{node_id}/{output_tunnel_name}/"
        ]
    },
    "jobConfig": {
        "name": "example1",
        "jobType": "generalJob",
        "taskSpec": {
            "instanceType": "ecs.c6.large",
            "imageUri": "registry.cn-hangzhou.aliyuncs.com/paiflow-public/python3:v1.0.0"
        },
        "_comments": [
            "DLC的任务配置项,包括",
            "name: 运行在 DLC 的任务名称前缀",
            "jobType: 任务类型,目前默认为GeneralJob,无需修改,表示是一个单节点任务(后续会支持多节点的分布式任务)",
            "taskSpec: 任务worker节点配置,其中 .instanceType 表示worker使用的 ECS 实例类型; .imageUri 是worker使用的镜像",
            "目前worker 支持使用官方镜像 (https://help.aliyun.com/document_detail/202834.htm) ,以及自定义镜像, 如果使用自定义镜像,请确保镜像能够支持公开访问。"
        ]
    }
}
三、运行测试

图片.png

图片.png

四、日志查看

图片.png

由于Python脚本需要依赖于PAI-DLC作为底层计算引擎,实际是在DLC集群创建docker运行的,所以查看Python脚本的详细日志需要到DLC控制台查看。

图片.png

图片.png

更多参考

Python脚本

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
580 7
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1412 12
Scikit-learn:Python机器学习的瑞士军刀
|
PyTorch 调度 算法框架/工具
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
DLC任务Pytorch launch_agent Socket Timeout问题源码分析与解决方案
684 18
阿里云PAI-DLC任务Pytorch launch_agent Socket Timeout问题源码分析
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能平台 PAI 开源 EasyDistill 框架助力大语言模型轻松瘦身
本文介绍了阿里云人工智能平台 PAI 推出的开源工具包 EasyDistill。随着大语言模型的复杂性和规模增长,它们面临计算需求和训练成本的障碍。知识蒸馏旨在不显著降低性能的前提下,将大模型转化为更小、更高效的版本以降低训练和推理成本。EasyDistill 框架简化了知识蒸馏过程,其具备多种功能模块,包括数据合成、基础和进阶蒸馏训练。通过数据合成,丰富训练集的多样性;基础和进阶蒸馏训练则涵盖黑盒和白盒知识转移策略、强化学习及偏好优化,从而提升小模型的性能。
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
3082 12
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署通义千问 QwQ-32B 模型,阿里云 PAI 最佳实践
3月6日阿里云发布并开源了全新推理模型通义千问 QwQ-32B,在一系列权威基准测试中,千问QwQ-32B模型表现异常出色,几乎完全超越了OpenAI-o1-mini,性能比肩Deepseek-R1,且部署成本大幅降低。并集成了与智能体 Agent 相关的能力,够在使用工具的同时进行批判性思考,并根据环境反馈调整推理过程。阿里云人工智能平台 PAI-Model Gallery 现已经支持一键部署 QwQ-32B,本实践带您部署体验专属 QwQ-32B模型服务。
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
人工智能 自然语言处理 运维
Qwen3 全尺寸模型支持通过阿里云PAI-ModelGallery 一键部署
Qwen3 是 Qwen 系列最新一代的大语言模型,提供了一系列密集(Dense)和混合专家(MOE)模型。目前,PAI 已经支持 Qwen3 全系列模型一键部署,用户可以通过 PAI-Model Gallery 快速开箱!

推荐镜像

更多