更新时间:2026-08-31 GMT+08:00
分享

使用JupyterLab在线开发和调试代码

在AI模型开发过程中,开发者们通常需要一个强大的交互式开发环境来支持多种开发需求,如编写Notebook、操作终端、编辑Markdown文本等。然而,传统的开发环境往往无法满足这些多样化的需求,导致开发效率低下。如何提高AI模型开发的效率和灵活性?ModelArts支持通过JupyterLab工具在线打开Notebook,开发基于PyTorch、TensorFlow和MindSpore等引擎的AI模型,这不仅满足了开发者的多样化需求,还极大地提高了开发效率。

图1 使用JupyterLab在线开发调试代码

前提条件

创建Notebook实例,且状态为“运行中”。

约束限制

  • 在JupyterLab中加载文件并无严格的固定大小限制,但其实际处理能力受系统资源及配置影响。在JupyterLab左侧浏览器打开较大文本文件(如超过100MB)可能导致内存不足、界面响应迟缓或内核中断等问题。为保证使用流畅性与稳定性,建议打开的单个文件大小不超过100MB。
  • 系统长期平均每秒可处理最多40个JupyterLab请求,并允许在短时间内突发处理最多10个JupyterLab请求。通常情况下,如果在短时间内对同一资源池中的JupyterLab进行超过10次操作,将会触发流量控制。

使用JupyterLab

  1. 登录ModelArts管理控制台,在左侧导航栏按需选择以下操作。
    • 新版控制台:选择模型开发与训练 > Notebook,进入“Notebook”页面。
    • 旧版控制台:选择开发空间 > Notebook,进入“Notebook”页面。
  2. “Notebook”页面的“操作”列,单击“接入环境”,在“接入方式”对话框的“WebIDE”页签,单击“JupyterLab 接入”右侧的“接入”
  3. 进入JupyterLab页面后,自动打开ModelArts Launcher页面。您可以使用开源支持的所有功能,详细操作指导可参见JupyterLab官网文档
    图2 JupyterLab主页

    不同AI引擎的Notebook,打开后ModelArts Launcher页面呈现的Notebook和Console内核及版本均不同,图2仅作为示例,请以实际控制台为准。

  4. 准备训练数据和代码文件,上传到JupyterLab中。具体参见上传本地文件至JupyterLab
    您也可以直接在JupyterLab中新建文件来调试代码,代码示例请参见JupyterLab代码示例
    图3 文件上传按钮
  5. 在左侧导航双击打开上传的代码文件,在JupyterLab中编写代码文件,并运行调试。关于JupyterLab的使用,请参见JupyterLab常用功能介绍

    如果您的代码文件是.py格式,请新打开一个.ipynb文件,执行%load main.py命令将.py文件内容加载至.ipynb文件后进行编码、调试等

  6. 在JupyterLab中直接调用ModelArts提供的SDK,创建训练作业,上云训练。

    调用SDK创建训练作业的操作请参见调用SDK创建训练作业

JupyterLab代码示例

本示例展示基本的数据处理和可视化。将生成一些随机数据,并使用线性回归模型进行拟合,最后绘制结果图。

  1. “ModelArts Launcher”页面的“Notebook”区域,单击目标运行环境。

    下文以PyTorch运行环境为例进行说明。

    图4 打开PyTorch
  2. 执行以下命令,查看是否已安装numpy和pandas库。如果未安装,则自动安装指定版本的库(版本号可按需修改)。
    !pip show numpy pandas || pip install -q numpy==1.24.2 pandas==1.5.1

    如下图所示,出现版本信息,表明已安装numpy和pandas库。

    图5 查看库信息

    在命令左侧,单击图标,执行命令。

  3. 运行以下代码。
    这段代码将生成一些随机数据,使用线性回归模型进行拟合,并绘制结果图。
    # 导入必要的库
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.linear_model import LinearRegression
    
    # 生成示例数据
    np.random.seed(0)  # 设置随机种子以确保结果可复现
    X = 2 * np.random.rand(100, 1)  # 生成100个随机数,范围在0到2之间
    y = 4 + 3 * X + np.random.randn(100, 1)  # 生成目标变量,添加一些噪声
    
    # 创建线性回归模型
    model = LinearRegression()
    
    # 训练模型
    model.fit(X, y)
    
    # 预测
    X_new = np.array([[0], [2]])  # 生成新的输入数据点
    y_pred = model.predict(X_new)  # 使用模型进行预测
    
    # 绘制结果
    plt.scatter(X, y, color='blue', label='Data')  # 绘制原始数据点
    plt.plot(X_new, y_pred, color='red', linewidth=2, label='Linear Regression')  # 绘制线性回归线
    plt.xlabel('X')  # 设置x轴标签
    plt.ylabel('y')  # 设置y轴标签
    plt.legend()  # 显示图例
    plt.show()  # 显示图形
    图6 运行结果

相关文档

OpenClaw是一个开源的AI编程助手,可以运行在ModelArts Notebook实例中,通过浏览器访问Web UI进行交互。借助内置的ModelArts Skill可以快速使用和管理ModelArts服务,从而提高开发效率和简化模型管理。具体操作,请参见开发环境最佳实践

相关文档