云服务器内容精选

  • Step1 检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward 执行如下命令统一文件属组。启动容器时默认用户为ma-user用户,使用其他属组如root用户上传的数据和文件等,可能会存在权限不足的问题,因此需要执行如下命令统一文件属主。 sudo chown -R ma-user:ma-group ${container_work_dir} # ${container_work_dir}:/home/ma-user/ws 容器内挂载的目录 例如: sudo chown -R ma-user:ma-group /home/ma-user/ws
  • Step3 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。启动容器命令如下。 container_work_dir="/home/ma-user/ws" # 容器内挂载的目录 work_dir="/home/ma-user/ws" # 宿主机挂载目录,存放了代码、数据、权重 container_name="ascendspeed" # 启动的容器名称 image_name="${container_name} " # 启动的镜像ID docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --cpus 192 \ --memory 1000g \ --shm-size 32g \ --net=host \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ $image_name \ /bin/bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称,例如ascendspeed。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。 ${image_name} 为docker镜像的ID,在宿主机上可通过docker images查询得到。 通过容器名称进入容器中。 docker exec -it ${container_name} bash 安装依赖包。 #进入scriptsscripts目录 cd /home/ma-user/ws/6.3.904-Ascend/llm_train/AscendSpeed/scripts #执行安装命令 pip install -r requirements.txt
  • 镜像地址 本教程中用到的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础容器镜像地址 镜像用途 镜像地址 基础镜像(训练和推理通用) 西南-贵阳一:swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc1-py_3.9-hce_2.0.2312-aarch64-snt9b-20240516142953-ca51f42 表2 模型镜像版本 模型 版本 CANN cann_8.0.rc1 PyTorch pytorch_2.1.0
  • 步骤2:使用PyCharm进行本地开发调试 下载代码至本地 本案例中,以图像分类模型resnet50模型为例,路径为“./models/official/cv/resnet/” # 在本地电脑Terminal下载代码至本地 git clone https://gitee.com/mindspore/models.git -b v1.5.0 图3 下载代码至本地 配置本地PC开发环境 修改“models/official/cv/resnet/requirements.txt”文件,改为: numpy==1.17.5 scipy==1.5.4 easydict==1.9 执行pip命令安装: # 在PyCharm的Terminal安装mindspore pip install mindspore==1.7.0 --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple # 在PyCharm的Terminal安装resnet依赖 pip install -r .\official\cv\resnet\requirements.txt --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple 图4 安装resnet依赖 准备数据集 本样例使用的数据集为类别数为五类的花卉识别数据集,下载数据集并解压数据到工程目录。新建dataset文件夹,将解压后数据集保存在dataset文件夹下。 图5 准备数据集 配置PyCharm解释器和入参 单击右上角“Current File”,选择“Edit Configuration”,打开“Run/Debug Configuration”对话框。在对话框中单击“+”,选择“Python”。 图6 前往PyCharm解释器 “Script path”选择train.py文件,“Parameters”命令如下所示,并选择Python解释器,然后单击“OK”: --net_name=resnet50 --dataset=imagenet2012 --data_path=../../../dataset/flower_photos/ --class_num=5 --config_path=./config/resnet50_imagenet2012_config.yaml --epoch_size=1 --device_target="CPU" 图7 配置PyCharm解释器 根据README说明文档,配置Parameter参数device_target="CPU"表示CPU环境运行,device_target="Ascend"表示在Ascend环境运行。 本地代码开发调测 一般本地CPU算力较低并且内存较小,可能出现内存溢出的报错,因此可以把“models/official/cv/resnet/config/resnet50_imagenet2012_config.yaml”的“batch_size”由“256”改为“32”,使得训练作业可以快速运行。 图8 修改batch_size AI开发过程中的数据集开发及模型开发是和硬件规格无关的,而且这一部分的开发耗时是最长的,因此可以先在本地PC的CPU环境进行数据集和模型开发调试。 本例中,因为样例代码已经支持在CPU上进行训练,因此用户能够在CPU上完成整个训练流程。如果代码只支持在GPU或者Ascend上训练,那么可能会报错,需要使用Notebook进行云端调试。 设置断点后单击“调试”,可实现代码逐步调试,查看中间变量值。 图9 “调试”按钮 图10 通过设置断点实现代码调试 可单击“运行”按钮,通过日志观察是否能正常训练。 图11 “运行”按钮 图12 训练日志
  • 准备工作 本地已安装PyCharm 2019.2或以上版本,推荐Windows版本,社区版或专业版均可,请单击PyCharm工具下载地址获取工具并在本地完成安装。 使用PyCharm ToolKit远程连接Notebook开发环境,仅限PyCharm专业版。 使用PyCharm ToolKit提交训练作业,社区版和专业版都支持。 已注册华为账号并开通华为云,且在使用ModelArts前检查账号状态,账号不能处于欠费或冻结状态。 已创建当前使用账号的访问密钥,并获得对应的AK和SK。如果未创建,请参见创建访问密钥(AK和SK)。 当前账号已完成访问授权的配置。如未完成,请参考使用委托授权。
  • 第三方案例列表 第三方案例来源为华为云开发者社区“云驻计划”。由于ModelArts产品的持续更新和迭代,第三方案例中的界面和步骤可能因时效性而与最新产品有所差异,仅供学习和参考。 表1 第三方案例列表 分类 文章名称 作者 自动学习 2步打通ModelArts和Astro实现AI应用落地 胡琦 开发环境 想不想让一张静态的照片动起来 林欣 基于TensorFlow训练轻量化ssdlite_mbv2人脸手机检测模型 AI练习生 基于ModelArts的手写数字识别 AXYZdong AI 文字编辑图片 instruct-pix2pix 案例 AXYZdong 推理部署 上线二维码检测识别服务 林欣 使用ModelArts对8类常见生活垃圾进行分类 福州司马懿 使用ModelArts搭建"花卉种类识别"服务 福州司马懿
  • 常见问题 如果训练时遇到报错ImportError: /usr/lib64/libc.so.6: version `GLIBC_2.34' not found,是由于编译Python的glibc环境版本过旧导致,建议重新安装python。 重新安装python命令如下。 # 输入如下命令,待conda界面准备完成后输入y,等待自动下载安装 conda create --name py310 python=3.10 参数说明: --name:该参数为新环境名字,可以自定义一个,此处以py310举例。 python=新环境Python版本 # 完成后输入如下命令激活新环境 conda activate py310 激活新conda环境后控制台显示(py310)即为切换成功,如下图所示。 图5 激活新conda环境
  • Step3 训练Wav2Lip模型 准备预训练模型。下载需要使用的预训练模型。 人脸检测预训练模型,下载链接。 专家唇形同步鉴别器,下载链接 ,此链接是官方提供的预训练模型。训练Wav2Lip模型时需要使用专家唇形同步鉴别器,用户可以用自己的数据训练,也可以直接使用官方提供的预训练模型。 处理初始视频数据集。 将下载好的人脸检测预训练模型上传到/home/ma-user/Wav2Lip/face_detection/detection/sfd/s3fd.pth目录。 下载LRS2数据集。数据集文件夹结构如下: ├── LRS2_partly | ├── main | │ ├── five-digit numbered video IDs ending with (.mp4) | │ ├── 00001.mp4 | │ ├── 00002.mp4 对数据集进行预处理。具体命令如下。 python preprocess.py --data_root ./LRS2_partly --preprocessed_root lrs2_preprocessed/ data_root参数为原始视频根目录,preprocessed_root参数为处理后生成的数据集目录。 处理后数据目录如下所示。 preprocessed_root (lrs2_preprocessed) ├── main | ├── Folders with five-digit numbered video IDs(00001) | │ ├── *.jpg | │ ├── audio.wav | ├── 00001 | │ ├── *.jpg | │ ├── audio.wav 将LRS2文件列表中的.txt文件(train、val)放入该filelists文件夹中。 图3 filelists文件夹 train.txt和val.txt内容参考如下,为处理后视频数据的目录名字。 图4 train.txt和val.txt内容 训练专家唇形同步鉴别器。 如果使用LRS2数据集,可选择跳过此步骤。如果使用自己的数据集,训练命令参考如下。 python color_syncnet_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel/syncnet_model/ --checkpoint_path ./checkpoints/lipsync_expert.pth 参数说明: --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。 --checkpoint_dir :此目录用于保存模型。 -checkpoint_path :(可选)可基于此目录的lipsync_expert模型继续进行训练,如果重新训练则不需要此参数。 默认每10000 step保存一次模型。 训练Wav2Lip模型。 训练Wav2Lip模型时需要使用专家唇形同步鉴别器。可以使用上一步3中的训练结果,也可以直接下载官方提供的预训练权重来使用。 具体训练命令如下。 python wav2lip_train.py --data_root ./lrs2_preprocessed/main/ --checkpoint_dir ./savedmodel --syncnet_checkpoint_path ./checkpoints/lipsync_expert.pth --checkpoint_path ./checkpoints/wav2lip.pth 参数说明: --data_root :处理后的视频数据目录,与train.txt内容拼接后得到单个数据目录,例如:lrs2_preprocessed/main/00001。 --checkpoint_dir :此目录用于保存模型。 --syncnet_checkpoint_path :专家鉴别器的目录。 --checkpoint_path :(可选)可基于此目录的Wav2Lip模型继续进行训练,如果重新训练则不需要此参数。 默认每3000 step保存一次模型。 专家鉴别器的评估损失应降至约 0.25,Wav2Lip评估同步损失应降至约 0.2,以获得良好的结果。
  • Step2 安装依赖和软件包 Python版本要求3.10,如果不满足的话,建议更新容器的conda环境的Python版本。 # 输入如下命令,待conda界面准备完成后输入y,等待自动下载安装 conda create --name py310 python=3.10 参数说明: --name:该参数为新环境名字,可以自定义一个,此处以py310举例。 python=新环境Python版本 # 完成后输入如下命令激活新环境 conda activate py310 激活新conda环境后控制台显示(py310)即为切换成功,如下图所示。 图1 激活新conda环境 从github拉取Wav2Lip代码。 cd /home/ma-user git clone https://github.com/Rudrabha/Wav2Lip.git 如果出现报错SSL certificate problem: self signed certificate in certificate chain 图2 报错SSL certificate problem 可采取忽略SSL证书验证:使用以下命令来克隆仓库,它将忽略SSL证书验证。 git clone -c http.sslVerify=false https://github.com/Rudrabha/Wav2Lip.git 安装Wav2Lip Ascend软件包。 将获取到的Wav2Lip Ascend软件包ascendcloud-aigc-*.tar.gz文件上传到容器的/home/ma-user/Wav2Lip目录下。获取路径:Support网站。 解压ascendcloud-aigc-*.tar.gz文件,解压后将里面文件与对应Wave2Lip文件进行替换。 cd /home/ma-user/Wav2Lip tar -zxvf ascendcloud-aigc-6.3.902-*.tar.gz tar -zxvf ascendcloud-aigc-poc-Wav2Lip_Ascend.tar.gz mv Wav2Lip_code/* ./ rm -rf ascendcloud-aigc-* Wav2Lip_code/ ascendcloud-aigc-6.3.902-*.tar.gz后面的*表示时间戳,请按照实际替换。 要替换的文件目录结构如下所示: |---Wav2Lip_code/ --- color_syncnet_train.py #训练expert discriminator唇形同步鉴别器 --- inference.py #推理代码,可以与任意音频或视频进行口型同步 --- preprocess.py #对初始视频数据进行推理 --- read.txt #关于包版本兼容问题的一些处理方案 --- requirements.txt #建议的依赖包版本 --- wav2lip_train.py #训练 Wav2Lip 模型 安装Python依赖包,文件为requirements.txt文件。 pip install -r requirements.txt 由于librosa、numba、llvmlite包的版本兼容问题,会出现报错ModuleNotFoundError: No module named 'numba.decorators'。 此时进入Python包librosa安装位置,打开文件site-packages/librosa/util/decorators.py,修改文件如下: import warnings from decorator import decorator import six #注释此行 #from numba.decorators import jit as optional_jit #修改此行如下 #__all__ = ['moved', 'deprecated', 'optional_jit'] __all__ = ['moved', 'deprecated']
  • Step1 准备环境 请参考DevServer资源开通,购买DevServer资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 购买DevServer资源时如果无可选资源规格,需要联系华为云技术支持申请开通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 检查环境。 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward 获取基础镜像。建议使用官方提供的镜像部署推理服务。 镜像地址{image_url}为: 西南-贵阳一:swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_7.0.0-py_3.9-hce_2.0.2312-aarch64-snt9b-20240312154948-219655b docker pull ${image_url} 启动容器镜像。启动前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。 export work_dir="自定义挂载的工作目录" export container_work_dir="自定义挂载到容器内的工作目录" export container_name="自定义容器名称" export image_name="swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_7.0.0-py_3.9-hce_2.0.2312-aarch64-snt9b-20240312154948-219655b" // 启动一个容器去运行镜像 docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --shm-size 32g \ --net=bridge \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ ${image_name} bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 ${image_name} 代表 ${image_name}。 通过容器名称进入容器中。 docker exec -it ${container_name} bash
  • 应用场景 Notebook等线上开发工具工程化开发体验不如IDE,但是本地开发服务器等资源有限,运行和调试环境大多使用团队公共搭建的CPU或GPU服务器,并且是多人共用,这带来一定的环境搭建和维护成本。因此使用本地IDE+远程Notebook结合的方式,可以同时享受IDE工程化开发和云上资源的即开即用,优势互补,满足开发者需求。 VS Code在Python项目开发中提供了优秀的代码编辑、调试、远程连接和同步能力,在开发者中广受欢迎。本文以Ascend Model Zoo为例,介绍如何通过VS Code插件及ModelArts Notebook进行云端数据调试及模型开发。
  • Step1 检查环境 请参考DevServer资源开通,购买DevServer资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 购买DevServer资源时如果无可选资源规格,需要联系华为云技术支持申请开通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 SSH登录机器后,检查NPU卡状态。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查是否安装docker。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • Step2 启动镜像 获取基础镜像。建议使用官方提供的镜像。镜像地址{image_url}为: 西南-贵阳一:swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_7.0.1.1-py_3.9-euler_2.10.7-aarch64-snt9b-20240411153110-ca68771 docker pull {image_url} 启动容器镜像。启动前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。 export work_dir="自定义挂载的工作目录" export container_work_dir="自定义挂载到容器内的工作目录" export container_name="自定义容器名称" export image_name="swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_7.0.1.1-py_3.9-euler_2.10.7-aarch64-snt9b-20240411153110-ca68771" // 启动一个容器去运行镜像 docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --shm-size 32g \ --net=bridge \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ ${image_name} bash 参数说明: work_dir:工作目录,目录下存放着训练所需代码、数据等文件。 container_work_dir:容器工作目录,一般同work_dir。 container_name:自定义容器名。 image_name:容器镜像的名称。 进入容器。需要将${container_name}替换为实际的容器名称。 docker exec -it ${container_name} bash
  • Step3 获取SD1.5插件代码包并安装依赖 下载SD1.5插件代码包ascendcloud-aigc-6.3.T041-*.tar.gz文件,上传到容器的/home/ma-user/目录下,解压并安装相关依赖。获取路径参见获取软件和镜像。 mkdir -p /home/ma-user/stable_diffusers_1.5 #创建stable_diffusers_1.5目录 cd /home/ma-user/stable_diffusers_1.5 #进入stable_diffusers_1.5目录 tar -zxvf ascendcloud-aigc-6.3.*-*.tar.gz tar -zxvf ascendcloud-aigc-poc-stable_diffusers_1.5.tar.gz rm -rf ascendcloud-aigc-* pip install -r requirements.txt #安装依赖 启动前配置。有两种方式修改配置文件: 方式一:可以参考解压出来的default_config.yaml或者deepspeed_default_config.yaml文件,再通过在启动脚本命令中增加--config_file=xxx.yaml参数来指定其为配置文件。 方式二:通过命令accelerate config进行配置,如下图所示。 图1 通过命令accelerate config进行配置 (可选)文件替换。 因增加nfa和使用npu_geglu算子,将diffusers源码包中的attention.py和attention_processor.py替换成代码包中对应的文件。 图2 文件替换 可以使用find命令来查找diffusers源码包位置。 find / -name attention.py find / -name attention_processor.py 图3 查找diffusers源码包位置 找到具体位置后可以cp替换,替换前可对diffusers原始文件做备份,如果没有备份则可以通过删除diffusers包重新安装获取原始文件。 执行bash stable_diffusers_train.sh。 bash stable_diffusers_train.sh
  • Step5 启动训练服务 train_text_to_image_0304.py是训练的核心代码,通过stable_diffusers_train.sh来启动。 sh stable_diffusers_train.sh 如果启动前配置采用的是•可以参考解压出来的default_config...方式指定配置文件,就是在此stable_diffusers_train.sh脚本中增加--config_file=xxx.yaml参数。 刚开始会报一些Warning,可忽略。正常启动如下图所示,出现Steps: 1%字样。 图4 启动服务 如果启动过程中报SSL相关错误,如下图所示。 图5 启动过程中报SSL相关错误 修改相应路径下的/home/ma-user/anaconda3/envs/PyTorch-2.1.0/lib/python3.9/site-packages/requests/sessions.py文件,将self.verify的值由True改成False,如下图所示。 图6 修改self.verify参数值