如何在notebook中上传下载obs文件?-九游平台
在notebook中可以通过调用modelarts的moxing接口或者sdk接口与obs交互,将notebook中的文件上传至obs,或者下载obs中的文件至notebook中。
使用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桶中的数据。如没有权限,请参见。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨