更新时间:2025-03-04 gmt 08:00

上传本地文件至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环境。

图1 直接将文件拖拽到jupyterlab窗口左边的空白处上传。

方式二:单击窗口上方导航栏的modelarts upload files按钮,打开文件上传界面,拖拽或者选择本地文件上传。

图2 单击窗口上方导航栏的modelarts upload files按钮

上传本地小文件(100mb以内)至jupyterlab

对于大小不超过100mb的文件直接上传,并展示文件大小、上传进度及速度等详细信息。

图3 上传100mb以下小文件

文件上传完成后给出提示。

图4 上传成功

上传本地大文件(100mb~50gb)至jupyterlab

对于大小超过100mb不超过50gb的文件可以使用obs中转,系统先将文件上传至obs(对象桶或并行文件系统),然后从obs下载到notebook。下载完成后,modelarts会将文件自动从obs中删除。

例如,对于下面这种情况,可以通过“obs中转”上传。

图5 通过obs中转上传大文件

如果使用obs中转需要提供一个obs中转路径,可以通过以下三种方式提供:

图6 通过obs中转路径上传

仅第一次单击“obs中转”需要提供obs中转路径,以后默认使用该路径直接上传,可以通过上传文件窗口左下角的设置按钮更新obs中转路径。如图10所示。

  • 方式一:在输入框中直接输入有效的obs中转路径,然后单击“确定”完成。
    图7 输入有效的obs中转路径
  • 方式二:打开obs file browser选择一个obs中转路径,然后单击“确定”完成。
    图8 打开obs file browser
  • 方式三:单击“使用默认路径”完成。
    图9 使用默认路径上传文件
    图10 设置本地文件obs中转路径

完成obs中转路径设置后,开始上传文件。

图11 上传文件

解压缩文件包

将文件以压缩包形式上传至notebook jupyterlab后, 可在terminal中解压缩文件包。

unzip xxx.zip  #在xxx.zip压缩包所在路径直接解压

解压命令的更多使用说明可以在主流搜索引擎中查找linux解压命令操作。

上传本地超大文件(50gb以上)至jupyterlab

不支持在notebook的jupyterlab中直接上传大小超过50gb的文件。

50gb以上的文件需要先从本地上传到obs中,再在notebook中调用modelarts的moxing接口或者sdk接口读写obs中的文件。

图12 在notebook中上传下载大文件

具体操作如下:

  1. 从本地上传文件至obs。具体操作请参见上传文件至obs桶
  2. 将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所示。

      图13 打开terminal
      图14 查看下载到notebook中的文件

异常处理

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

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

具体请参见modelarts中提示obs路径错误

相关文档

网站地图