上传本地文件至JupyterLab
Notebook的JupyterLab中提供了多种方式上传文件。
上传文件要求
- 对于大小不超过100MB的文件直接上传,并展示文件大小、上传进度及速度等详细信息。
- 对于大小超过100MB不超过50GB的文件可以使用OBS中转,系统先将文件上传OBS(对象桶或并行文件系统),然后从OBS下载到Notebook,上传完成后,会将文件从OBS中删除。
- 50GB以上的文件上传通过调用ModelArts SDK或者Moxing完成。
- 对于Notebook当前目录下已经有同文件名称的文件,可以覆盖继续上传,也可以取消。
- 支持10个文件同时上传,其余文件显示“等待上传”。不支持上传文件夹,可以将文件夹压缩成压缩包上传至Notebook后, 在Terminal中解压压缩包。
unzip xxx.zip #在xxx.zip压缩包所在路径直接解压
解压命令的更多使用说明可以在主流搜索引擎中查找Linux解压命令操作。
- 多个文件同时上传时,JupyterLab窗口最下面会显示上传文件总数和已上传文件数。
上传文件入口
方式一:使用JupyterLab打开一个运行中的Notebook环境。
方式二:单击窗口上方导航栏的ModelArts Upload Files按钮,打开文件上传界面,拖拽或者选择本地文件上传。
上传本地小文件(100MB以内)至JupyterLab
对于大小不超过100MB的文件直接上传,并展示文件大小、上传进度及速度等详细信息。
文件上传完成后给出提示。
上传本地大文件(100MB~50GB)至JupyterLab
对于大小超过100MB不超过50GB的文件可以使用OBS中转,系统先将文件上传至OBS(对象桶或并行文件系统),然后从OBS下载到Notebook。下载完成后,ModelArts会将文件自动从OBS中删除。
例如,对于下面这种情况,可以通过“OBS中转”上传。
如果使用OBS中转需要提供一个OBS中转路径,可以通过以下三种方式提供:
仅第一次单击“OBS中转”需要提供OBS中转路径,以后默认使用该路径直接上传,可以通过上传文件窗口左下角的设置按钮更新OBS中转路径。如图10所示。
- 方式一:在输入框中直接输入有效的OBS中转路径,然后单击“确定”完成。
图7 输入有效的OBS中转路径
- 方式二:打开OBS File Browser选择一个OBS中转路径,然后单击“确定”完成。
图8 打开OBS File Browser
- 方式三:单击“使用默认路径”完成。
图9 使用默认路径上传文件
完成OBS中转路径设置后,开始上传文件。
解压缩文件包
将文件以压缩包形式上传至Notebook JupyterLab后, 可在Terminal中解压缩文件包。
unzip xxx.zip #在xxx.zip压缩包所在路径直接解压
解压命令的更多使用说明可以在主流搜索引擎中查找Linux解压命令操作。
上传本地超大文件(50GB以上)至JupyterLab
不支持在Notebook的JupyterLab中直接上传大小超过50GB的文件。
50GB以上的文件需要先从本地上传到OBS中,再在Notebook中调用ModelArts的Moxing接口或者SDK接口读写OBS中的文件。
具体操作如下:
- 从本地上传文件至OBS。具体操作请参见上传文件至OBS桶。
- 将OBS中的文件下载到Notebook,可以通过在Notebook中运行代码的方式完成数据下载,具体方式有2种,ModelArts的SDK接口或者调用MoXing接口。
- 方法一:使用ModelArts SDK接口将OBS中的文件下载到Notebook后进行操作。
1 2 3
from modelarts.session import Session session = Session() session.obs.copy("obs://bucket-name/obs_file.txt","/home/ma-user/work/")
- 方法二:使用Moxing操作OBS文件将OBS中的文件同步到Notebook后进行操作。
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')
如果下载到Notebook中的是zip文件,在Terminal中执行下列命令,解压压缩包。
unzip xxx.zip #在xxx.zip压缩包所在路径直接解压
代码执行完成后,参考图13打开Terminal后执行ls /home/ma-user/work命令查看下载到Notebook中的文件。或者在JupyterLab左侧导航中显示下载的文件,如果没有显示,请刷新后查看,如图14所示。
- 方法一:使用ModelArts SDK接口将OBS中的文件下载到Notebook后进行操作。
异常处理
通过OBS下载文件到Notebook中时,提示Permission denied。请依次排查:
- 请确保读取的OBS桶和Notebook处于同一站点区域,例如:都在华北-北京四站点。不支持跨站点访问OBS桶。
- 请确认操作Notebook的账号有权限读取OBS桶中的数据。
具体请参见ModelArts中提示OBS路径错误。