在AI开发过程中,调试是一个至关重要的环节,ModelArts作为华为云提供的一站式AI开发平台,提供了丰富的功能来支持开发者进行模型训练和推理,本文将详细介绍如何在本地环境中使用ModelArts SDK进行调试,帮助开发者快速验证模型的正确性并优化性能。
ModelArts SDK简介
ModelArts SDK是ModelArts平台提供的工具包,用于连接ModelArts的各个子服务,通过ModelArts SDK,用户可以方便地在本地环境中创建、管理和部署AI模型,以下是ModelArts SDK的主要功能:
1、Session初始化:包含认证鉴权信息,帮助SDK与OBS服务、ModelArts训练服务和推理服务进行交互。
2、训练脚本和数据准备:用户需要在本地保存训练脚本和数据集,以便进行本地训练。
3、虚拟环境定制:利用SDK可以方便地创建conda虚拟环境,满足不同的训练需求。
4、本地训练:在本地环境中启动训练作业,验证训练脚本和参数的正确性。
5、本地推理:在本地部署预测服务,进行模型推理测试。
本地训练的使用
优势和劣势
在线训练虽然拥有强大的计算资源和丰富的预置模型支持,但由于资源有限,任务往往需要排队等待,一个简单的代码错误或参数不当可能导致任务失败,本地训练的优势在于能够快速验证训练脚本和参数的正确性,避免在线训练中的长时间等待和资源浪费。
本地训练流程
1、Session初始化:使用以下代码进行session初始化:
from modelarts.session import Session session = Session()
在华为云上使用notebook时,Session类初始化不需要任何信息,SDK会利用notebook创建时预先保存的AKSK信息完成认证鉴权。
2、准备训练脚本和训练数据:将训练脚本和数据保存在notebook容器中,训练脚本保存在目录/home/mauser/work/tensorflow_mlp_mnist_local_mode/train/
中,启动脚本为tensorflow_mlp_mnist.py
,数据通常保存在OBS上,需要下载到本地:
source_file_path = "/home/mauser/work/tensorflow_mlp_mnist_local_mode" dataset_url = "https://modelartscnnorth1marketdataset.obs.cnnorth1.myhuaweicloud.com/datasetmarket/MnistDataSet/archiver/MnistDataSet.zip" dataset_file_names = ["trainimagesidx3ubyte.gz", "trainlabelsidx1ubyte.gz", "t10kimagesidx3ubyte.gz", "t10klabelsidx1ubyte.gz"] dataset_local_path = source_file_path + 'dataset/' dataset_local_name = dataset_local_path + 'MnistDataSet.zip' if not os.path.exists(dataset_local_name): !wget {dataset_url} P {dataset_local_path} !unzip d {dataset_local_path} o {dataset_local_name}
3、训练环境准备:利用SDK创建conda虚拟环境:
from modelarts.environment import Environment from modelarts.environment.conda_env import CondaDependencies env = Environment("tensorflow_mlp_mnist") cd = CondaDependencies.create(pip_packages=["tensorflow==1.13.1"], conda_packages=["python=3.6.2"]) env.conda = cd
4、本地训练:在创建的conda虚拟环境中启动训练作业:
from modelarts.environment import Environment from modelarts.environment.conda_env import CondaDependencies src_local_path = "/home/mauser/work/tensorflow_mlp_mnist_local_mode/train/" train_file = "tensorflow_mlp_mnist.py" estimator = Estimator(modelarts_session=session, hyperparameters=["num_epochs", "30"], code_dir=src_local_path, # 本地训练脚本目录 boot_file=train_file) # 本地训练脚本文件
在Pycharm中调用ModelArts平台
1、准备训练数据和代码并上传数据至OBS桶:进入“控制台”>“服务列表”>“存储”>“对象存储服务”,点击“创建桶”按钮进入创建页面,使用OBS Browser+工具将数据上传至华为云云端。
2、本地Pycharm中创建训练工程并配置环境:打开PyCharm工具,单击“File>Create Project”创建新工程,并在工程目录下创建“src”文件夹,将训练代码文件“dog_and_cat_train.py”拷贝到“src”文件夹下,在PyCharm工具栏中,选择“ModelArts>Edit Creden”,输入密钥并确保区域一致。
3、开始在本地调用ModelArts平台训练模型:配置训练参数,包括Job Name、Job Description、AI Engine等。
4、训练模型云端部署:在ModelArts管理控制台中,选择开发环境Notebook,点击创建并设置相关参数,第一次部署选择CPU 2核8GB规格,部署成功且熟悉部署过程后,再重新创建GPU实例执行训练作业。
5、在线测试训练模型:在JupyterLab中加载数据和代码,创建成功后,状态为运行中,通过指令开始训练模型。
本地Pytorch代码迁移至华为云ModelArts平台训练
1、修改数据集路径和模型权重保存路径:将原来的数据集路径用data_url
变量代替,权重保存路径用train_url
变量代替。
2、本地调试完后,将模型训练的相关代码和数据集上传至OBS文件夹下:登录华为云ModelArts控制台,选择开发环境Notebook,点击创建并设置相关参数。
3、在Notebook中加载数据和代码:创建成功后,状态为运行中,通过指令开始训练模型。
本地服务部署和调试
如果需要在个人PC或虚拟机上使用ModelArts SDK,则需要在本地环境中安装ModelArts SDK,安装后可直接调用ModelArts SDK轻松管理数据集、创建ModelArts训练作业及创建AI应用,并将其部署为在线服务,当前仅支持在Linux平台上部署本地服务Predictor,Windows平台不支持,推荐使用ModelArts Notebook部署本地服务。
步骤 | 描述 |
下载ModelArts SDK | 获取最新版本的ModelArts SDK软件包 |
配置运行环境 | 确保本地环境已安装Python和pip |
安装ModelArts SDK | 使用pip命令安装SDK |
Session鉴权 | 完成Session初始化,确保认证鉴权信息正确 |
本地服务配置 | 配置本地服务运行参数,如service_name、configs、model_id等 |
启动本地服务 | 在终端中输入指令启动本地服务 |
FAQs
Q1: ModelArts SDK在Windows上安装时遇到报错怎么办?
A1: 如果ModelArts SDK在Windows上安装时遇到报错,可能是因为缺少相应的依赖包,建议先安装3.1.1版本的futures依赖包,然后再重新安装SDK,确保Python版本≤3.10.x版本,推荐使用3.7.x版本。
Q2: 如何在本地环境中验证模型的正确性?
A2: 在本地环境中验证模型的正确性可以通过以下几个步骤实现:准备好训练脚本和数据集;利用ModelArts SDK创建conda虚拟环境,并在该环境中启动训练作业;通过本地推理服务进行模型推理测试,确保模型在本地环境中能够正常运行并得到预期结果。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1234154.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复