凯发k8国际娱乐官网入口-k8凯发> ai开发平台modelarts> > > > 如何在notebook中上传下载obs文件?
更新时间:2024-01-15 gmt 08:00

如何在notebook中上传下载obs文件?-凯发k8国际娱乐官网入口

在notebook中可以通过调用modelarts的moxing接口或者sdk接口与obs交互,将notebook中的文件上传至obs,或者下载obs中的文件至notebook中。

图1 notebook中上传下载obs文件

使用obs客户端上传文件的操作指导:

方法一:在notebook中通过moxing上传下载obs文件

moxing是modelarts自研的分布式训练加速框架,构建于开源的深度学习引擎tensorflow、pytorch等之上,使用moxing api可让模型代码的编写更加简单、高效。

moxing提供了一套文件对象api,可以用来读写obs文件。

您可以通过moxing api文档了解其与原生api对应关系,以及详细的接口调用示例,详细说明请参见。

示例代码:

import moxing as mox
#下载一个obs文件夹sub_dir_0,从obs下载至notebook
mox.file.copy_parallel('obs://bucket_name/sub_dir_0', '/home/ma-user/work/sub_dir_0')
#下载一个obs文件obs_file.txt,从obs下载至notebook
mox.file.copy('obs://bucket_name/obs_file.txt', '/home/ma-user/work/obs_file.txt')
#上传一个obs文件夹sub_dir_0,从notebook上传至obs
mox.file.copy_parallel('/home/ma-user/work/sub_dir_0', 'obs://bucket_name/sub_dir_0')
#上传一个obs文件obs_file.txt,从notebook上传至obs
mox.file.copy('/home/ma-user/work/obs_file.txt', 'obs://bucket_name/obs_file.txt')

方法二:在notebook中通过sdk上传下载obs文件

使用modelarts sdk接口将obs中的文件下载到notebook后进行操作。

示例代码:将obs中的文件file1.txt下载到notebook的/home/ma-user/work/路径下。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。

1
2
3
from modelarts.session import session
session = session()
session.obs.download_file(src_obs_file="obs://bucket-name/dir1/file1.txt", dst_local_dir="/home/ma-user/work/")

使用modelarts sdk接口将obs中的文件夹下载到notebook后进行操作。

示例代码:将obs中的文件夹dir1下载到notebook的/home/ma-user/work/路径下。其中,桶名称和文件夹的名称均可以按照业务需求自定义。

from modelarts.session import session
session = session()
session.obs.download_dir(src_obs_dir="obs://bucket-name/dir1/", dst_local_dir="/home/ma-user/work/")

使用modelarts sdk接口将notebook中的文件上传到obs后进行操作。

示例代码:将notebook中的file1.txt文件上传到obs桶路径obs://bucket-name/dir1/中。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。

1
2
3
from modelarts.session import session
session = session()
session.obs.upload_file(src_local_file='/home/ma-user/work/file1.txt', dst_obs_dir='obs://bucket-name/dir1/')

使用modelarts sdk接口将notebook中的文件夹上传到obs。

示例代码:将notebook中的文件夹“/work/”上传至“bucket-name”桶的“dir1”文件夹下,路径为“obs://bucket-name/dir1/work/”。其中,桶名称和文件夹的名称均可以按照业务需求自定义。

from modelarts.session import session
session = session()
session.obs.upload_dir(src_local_dir='/home/ma-user/work/', dst_obs_dir='obs://bucket-name/dir1/')

异常处理

通过obs下载文件到notebook中时,提示permission denied。请依次排查:

  • 请确保读取的obs桶和notebook处于同一站点区域,例如:都在华北-北京四站点。不支持跨站点访问obs桶。具体请参见。
  • 请确认操作notebook的帐号有权限读取obs桶中的数据。如没有权限,请参见。
分享:

more

网站地图