【DSW Gallery】PAIIO使用指南

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: PAIIO是针对TensorFlow任务读取ODPS Table数据专门开发的模块,提供了TableRecordDataset dataset。

直接使用

请打开PAIIO使用指南,并点击右上角 “ 在DSW中打开” 。

image.png


PAIIO是针对TensorFlow任务读取MaxCompute Table数据专门开发的模块,基于MaxCompute Tunnel实现,提供了TableRecordDataset dataset。有关TensorFlow Dataset使用可以参考该链接

使用PAIIO时,您需要先在配置文件中配置账户AK等信息,否则无权读取MaxCompute Table。

说明:

- PAIIO已在DLC/DSW官方镜像中安装, 暂不支持自定义镜像;

- PAIIO仅支持TensorFlow任务,支持TF1.12、TF1.15、TF2.0以及TF2.3版本;

- 写表推荐使用COMMON_IO(COMMON_IO使用指南);

1. 准备工作:配置账户信息

配置文件内容格式如下所示,包含了MaxCompute access_id、access_key以及endpoint信息。

access_id/access_key获取方式参见链接

end_point填入您的MaxCompute项目所在区域对应的Endpoint,可参考链接,例如杭州region endpoint为:http://service.cn-hangzhou.maxcompute.aliyun.com/api

access_id=xxxx

access_key=xxxx

end_point=http://xxxx

在代码中通过以下方式指定配置文件路径

os.environ['ODPS_CONFIG_FILE_PATH'] = ''

2. TableRecordDataset使用说明

TensorFlow社区推荐在1.2及以上版本中使用Dataset接口(详情请参见Dataset)替代原有的线程和队列接口构建数据流。通过多个Dataset接口的组合变换生成计算数据,可以简化数据输入部分的代码。TableRecordDataset是针对读取ODPS Table数据实现的Dataset。

2.1 接口定义

paiio.data.TableRecordDataset(
       filenames,
       record_defaults,
       selected_cols=None,
       excluded_cols=None,
       slice_id=0,
       slice_count=1,
       num_threads=0,
       capacity=0)

image.png

2.2 使用示例

假设在algo_platform_dev项目中存储了一张名为test的表,其部分内容如下所示。

image.png

以下代码实现了使用TableRecordDataset接口读取test表itemid和price列的数据。

import os
import tensorflow as tf
import paiio
# 指定配置文件路径
os.environ['ODPS_CONFIG_FILE_PATH'] = "/mnt/workspace/tunnel_io/odps_config.ini"
# 定义要读取的Table, 可以是多个
table = ["odps://algo_platform_dev/tables/test"]
# 定义TableRecordDataset, 读取表的itemid和price列
dataset = paiio.data.TableRecordDataset(table,
                                       record_defaults = [0, 0.0],
                                       selected_cols = "itemid,price",
                                       num_threads=1,
                                       capacity=10)
# 设置epoch 2, batch size 3, prefetch 100 batch
dataset = dataset.repeat(2).batch(3).prefetch(100)
ids, prices = dataset.make_one_shot_iterator().get_next()
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    sess.run(tf.local_variables_initializer())
    batch_ids, batch_prices = sess.run([ids, prices])
    print("batch_ids:", batch_ids)
    print("batch_prices:", batch_prices)
batch_ids: [25 38 17]
batch_prices: [5.  4.5 2.2]

3. FAQ

3.1 Notebook读取出现 Kernel Restarting

未知错误导致paiio底层发生core,可以先使用common_io看下能否正确读取表数据。

3.2 错误 No such file: /root/.odps_config.ini

该错误表示未找到配置文件,参考使用说明准备工作部分。

3.3 怎么提高TF Dataset读取性能

可以参考TF Dataset最佳实践指南

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
并行计算 Linux Docker
Docker【部署 07】镜像内安装tensorflow-gpu及调用GPU多个问题处理Could not find cuda drivers+unable to find libcuda.so...
Docker【部署 07】镜像内安装tensorflow-gpu及调用GPU多个问题处理Could not find cuda drivers+unable to find libcuda.so...
1187 0
|
Linux 数据安全/隐私保护 Windows
更换(Pypi)pip源到国内镜像
pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.
247116 2
|
存储 机器学习/深度学习 分布式计算
【DSW Gallery】COMMON_IO使用指南
COMMON_IO模块提供了TableReader和TableWriter两个接口,使用TableReader可以读取ODPS Table中的数据,使用TableWriter可以将数据写入ODPS Table。
【DSW Gallery】COMMON_IO使用指南
|
SQL JSON 分布式计算
ODPS SQL ——列转行、行转列这回让我玩明白了!
本文详细介绍了在MaxCompute中如何使用TRANS_ARRAY和LATERAL VIEW EXPLODE函数来实现列转行的功能。
|
Java 数据库连接 API
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
分布式事物【XA强一致性分布式事务实战、Seata提供XA模式实现分布式事务】(五)-全面详解(学习总结---从入门到深化)
271 0
|
存储 缓存 PyTorch
Transformers 4.37 中文文档(十四)(4)
Transformers 4.37 中文文档(十四)
363 4
|
存储 PyTorch API
Transformers 4.37 中文文档(十九)(2)
Transformers 4.37 中文文档(十九)
790 1
|
缓存 PyTorch API
Transformers 4.37 中文文档(四十)(2)
Transformers 4.37 中文文档(四十)
344 1
超好用的截图软件Snipaste(包含安装包)、如何设置Snipaste开机自启
这篇文章提供了Snipaste截图软件的介绍,包括它的功能、如何下载和安装,以及如何设置开机自启动的详细步骤。
|
SQL 数据采集 JSON
MaxCompute中的JSON数据处理
MaxCompute中的JSON数据处理
3915 0

热门文章

最新文章