【DSW Gallery】PAIIO使用指南

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 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-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
存储 机器学习/深度学习 人工智能
【DSW Gallery】DSW基础使用介绍
PAI-DSW是一款云端机器学习开发IDE,为您提供交互式编程环境,适用于不同水平的开发者。本文为您介绍PAI-DSW的功能特点以及界面的基础使用。
【DSW Gallery】DSW基础使用介绍
|
机器学习/深度学习 人工智能 算法
【DSW Gallery】PAI-DSW快速入门
PAI-DSW是一款为AI开发者量身定制的云端机器学习交互式开发IDE,随时随地开启Notebook快速读取数据、开发算法、训练及部署模型。本文介绍如何快速上手PAI-DSW。
【DSW Gallery】PAI-DSW快速入门
|
机器学习/深度学习 人工智能 Kubernetes
【DSW Gallery】介绍如何使用命令行工具提交DLC任务
本文介绍如何使用DLC命令行工具提交任务到指定的工作空间内. 同时,会介绍如何提交预付费和后付费的DLC训练任务
【DSW Gallery】介绍如何使用命令行工具提交DLC任务
|
分布式计算 监控 PyTorch
【DSW Gallery】如何在DLC上提交ElasticBatch任务
ElasticBatch是一种分布式离线弹性批量推理作业类型, 本文将介绍ElasticBatch SDK接口以及如何在DLC上提交ElasticBatch任务。
【DSW Gallery】如何在DLC上提交ElasticBatch任务
|
文字识别 并行计算 算法
【DSW Gallery】基于EasyCV的文字识别示例
EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文以文字识别为例,为您介绍如何在PAI-DSW中使用EasyCV。
【DSW Gallery】基于EasyCV的文字识别示例
|
Shell 开发者 Python
【DSW Gallery】Jupyter简介
JupyterNotebook是一个用于编写Jupyter Notebook的Python环境。本文介绍Jupyter Notebook的常用使用技巧,包括shell命令,测试运行时间等使用方法。
【DSW Gallery】Jupyter简介
|
自然语言处理 Shell 开发者
【DSW Gallery】基于EasyNLP的中文新闻标题生成
EasyNLP提供多种模型的训练及预测功能,旨在帮助自然语言开发者方便快捷地构建模型并应用于生产。本文以中文新闻标题生成为例,为您介绍如何在PAI-DSW中使用EasyNLP。
【DSW Gallery】基于EasyNLP的中文新闻标题生成
|
机器学习/深度学习 人工智能 分布式计算
【DSW Gallery】PAI-DSW开通及授权
本文介绍如何结合AI工作空间开通PAI-DSW并为阿里云子账号授权进行使用。
【DSW Gallery】PAI-DSW开通及授权
|
存储 机器学习/深度学习 分布式计算
【DSW Gallery】特征平台
特征平台是专门用来存储,共享,管理机器学习模型特征的存储库。特征平台可以方便的向多人、多团队共享特征,提供安全,高效且统一的存储,保证离线在线的一致性。
【DSW Gallery】特征平台
|
机器学习/深度学习 人工智能 分布式计算
【DSW Gallery】DSW Gallery
DSW Gallery提供了AI研发场景下丰富的案例和解决方案,内容涵盖如: Jupyter, 数据分析,机器学习,深度学习,PAI产品说明, SDK使用说明,以及行业解决方案),支持一键在DSW中启动和运行,帮助您快速了解云原生下AI研发流程,熟练使用PAI的各种工具,提升开发效率和质量。
【DSW Gallery】DSW Gallery