使用JupyterLab在线开发和调试代码
在AI模型开发过程中,开发者们通常需要一个强大的交互式开发环境来支持多种开发需求,如编写Notebook、操作终端、编辑Markdown文本等。然而,传统的开发环境往往无法满足这些多样化的需求,导致开发效率低下。如何提高AI模型开发的效率和灵活性?ModelArts支持通过JupyterLab工具在线打开Notebook,开发基于PyTorch、TensorFlow和MindSpore等引擎的AI模型,这不仅满足了开发者的多样化需求,还极大地提高了开发效率。
前提条件
已创建Notebook实例,且状态为“运行中”。
约束限制
- 在JupyterLab中加载文件并无严格的固定大小限制,但其实际处理能力受系统资源及配置影响。在JupyterLab左侧浏览器打开较大文本文件(如超过100MB)可能导致内存不足、界面响应迟缓或内核中断等问题。为保证使用流畅性与稳定性,建议打开的单个文件大小不超过100MB。
- 系统长期平均每秒可处理最多40个JupyterLab请求,并允许在短时间内突发处理最多10个JupyterLab请求。通常情况下,如果在短时间内对同一资源池中的JupyterLab进行超过10次操作,将会触发流量控制。
使用JupyterLab
- 登录ModelArts管理控制台,在左侧导航栏按需选择以下操作。
- 新版控制台:选择,进入“Notebook”页面。
- 旧版控制台:选择,进入“Notebook”页面。
- 在“Notebook”页面的“操作”列,单击“接入环境”,在“接入方式”对话框的“WebIDE”页签,单击“JupyterLab 接入”右侧的“接入”。
- 进入JupyterLab页面后,自动打开ModelArts Launcher页面。您可以使用开源支持的所有功能,详细操作指导可参见JupyterLab官网文档。
- 准备训练数据和代码文件,上传到JupyterLab中。具体参见上传本地文件至JupyterLab。 您也可以直接在JupyterLab中新建文件来调试代码,代码示例请参见JupyterLab代码示例。图3 文件上传按钮
- 在左侧导航双击打开上传的代码文件,在JupyterLab中编写代码文件,并运行调试。关于JupyterLab的使用,请参见JupyterLab常用功能介绍。
如果您的代码文件是.py格式,请新打开一个.ipynb文件,执行%load main.py命令将.py文件内容加载至.ipynb文件后进行编码、调试等。
- 在JupyterLab中直接调用ModelArts提供的SDK,创建训练作业,上云训练。
调用SDK创建训练作业的操作请参见调用SDK创建训练作业。
JupyterLab代码示例
本示例展示基本的数据处理和可视化。将生成一些随机数据,并使用线性回归模型进行拟合,最后绘制结果图。
- 在“ModelArts Launcher”页面的“Notebook”区域,单击目标运行环境。
下文以PyTorch运行环境为例进行说明。
图4 打开PyTorch
- 执行以下命令,查看是否已安装numpy和pandas库。如果未安装,则自动安装指定版本的库(版本号可按需修改)。
!pip show numpy pandas || pip install -q numpy==1.24.2 pandas==1.5.1
如下图所示,出现版本信息,表明已安装numpy和pandas库。
图5 查看库信息
在命令左侧,单击
图标,执行命令。 - 运行以下代码。 这段代码将生成一些随机数据,使用线性回归模型进行拟合,并绘制结果图。
# 导入必要的库 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服务,从而提高开发效率和简化模型管理。具体操作,请参见开发环境最佳实践。
