云服务器内容精选

  • 常见问题 如果训练时遇到报错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环境
  • 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']
  • 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,以获得良好的结果。
  • 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
  • 配置应用 在界面上方的主菜单中,单击“我的应用”。 单击新增应用所在行的图标,进入“应用配置”页面。 图3 应用配置页面 配置“自然语言模型”,保持默认值“AIUI通用语义模型”。 单击“管理技能配置”,弹出“配置应用需要的技能”对话框,如图4所示。 在“自定义”区域,找到创建的技能,需要依次完成如下操作: 开启卡片区域右上角的开关。 单击卡片区域右下角的开关,在弹出的“技能设置”对话框中选择需要使用的技能版本。 此时,应用已具备基础的对话能力,可以回答已配置的语料内容。 图4 配置应用需要的技能 单击右上方的“保存配置”。界面提示“保存成功”,回到“应用配置”页面。 单击界面右上方的“保存修改”。界面提示“保存成功”,说明应用配置完成。
  • (可选)新增English情景模式 前面的所有操作,都是main情景模式下的配置,如果配置对话时,语言选择“中文”,则main情景模式下的配置生效。 如果配置对话时,语言选择“英文”,当前应用需要新增English情景模式,才能对话成功。 操作步骤,如下所示: 在界面上方的主菜单中,单击“我的应用”。 单击新增应用所在行的图标,进入“应用配置”页面。 图16 应用配置页面 单击“情景模式”右侧的“+”图标,弹出“新增情景模式”对话框。 一个应用可以增加多个情景模式,每个情景模式相互独立,互不干扰。 参数配置说明,如下所示: 情景模式名称:必须配置为“English”。 保持“语音语义”不变。 图17 新增情景模式 单击“确定”,English情景模式新增成功。 界面参数配置说明,如下所示: 语音识别:从下拉框中选择“通用-英文-进场”。 自然语言模型:保持默认值“AIUI通用语义模型”。 管理技能配置:English情景模式下,不支持开启系统预置技能,仅支持开启自定义技能,相应操作请参考配置应用需要的技能。 (可选)开启闲聊技能:可选能力,操作请参考(可选)开启闲聊功能。 模拟测试:操作请参考模拟测试。 图18 English情景模式 单击如图18所示界面右上方的“保存修改”。 界面提示“保存成功”,说明应用的English情景模式配置完成。
  • 创建应用 访问科大讯飞的AIUI开放平台。 在界面上方的主菜单中,单击“我的应用”,进入“我的应用”页面。 单击“创建应用”,进入“创建应用”页面,如图1所示。 参数配置说明,如下所示: 应用名称:应用名称。 应用分类:从下拉框中选择当前应用所属分类。应用分类可以任意选择,不影响实际使用。 设备信息:勾选设备具备的条件。 应用描述:应用描述。 图1 创建应用 单击“确定创建”。界面提示“创建成功”,并弹出如图2所示的对话框。 图2 选择设备需要的AI能力 选择并开启设备需要的AI能力后,单击“确定”。 应用创建成功,自动进入新增应用的“应用配置”页面。
  • 操作步骤 访问数字人工作台。 输入有效手机号和验证码,或者通过密码方式登录。 图1 数字人工作台 单击“登录”,进入数字人工作台“创建角色”页面,如图2所示。 界面右侧有“创建角色”入口,下方的“角色中心”区域展示系统预置的角色,可以直接克隆使用。 图2 创建角色 单击“创建角色”,进入“创建角色”页面,如图3所示。 参数配置说明,如表1所示。 图3 创建角色 表1 参数说明 参数 说明 语言 包含中文和英语。 单语言场景,可直接切换语言类型。 多语言场景,可单击右侧的“添加语言”,将中文和英语都添加上。 角色名称 互动数字人的角色名称。 示例:售货员。 角色描述 互动数字人的角色描述信息。 示例:负责介绍便利店及其产品信息。 选择模型 选择AI模型。 包含如下选项: 初阶模型 中阶模型 高阶模型 多轮对话 是否开启多轮会话。 如果开启,会根据上下文的信息进行语义理解,以生成连贯的对话。 提示词 用户长时间不提问时,互动数字人的提示语。 示例:您好!请问您还有什么需要了解的内容? 欢迎语 互动数字人的开场欢迎语。 示例:您好!很高兴为您服务。 常见问题 常见用户提问,支持添加多个。 示例:请问您需要什么商品? 插件工具 系统预置的插件工具,支持多选。 如“天气查询工具”,可以用于回答天气的问题。 知识库 单击“添加”,在弹出的“选择知识库”对话框中,勾选对应的知识库。 这里的知识库均为“普通文本”类型,其来源请参考新增知识库-上传普通文件。 回答仅限于文档 是否开启回答仅限于文档。 如果开启此设置, 数字人仅回答知识库中内容。如果超出知识库范围,数字人使用兜底话术答复。 回答来源 是否开启回答来源。 如果开启此设置,当回答引用了文档或者使用了网页查询工具时,会展示问答来源。 问答库 单击“添加”,在弹出的“选择知识库”对话框中,勾选对应的问答题库。 问答题库来源,请参见新增知识库-上传问答题库。 兜底话术 当用户提问超出问答范围时的回复话术。 示例:很抱歉,我们无法提供此类信息。 回答前缀 互动数字人回答问题之前的话术。 示例:让我思考一下你的问题。 敏感词话术 如果用户问题中有敏感词,使用此话术作答。 示例:哎呦,这个问题我没有听懂哦!请您重新提问。 单击“在线演示”,可以在界面右侧演示模型对话效果,如图4所示。 图4 在线演示 单击界面右上角的“保存”,在弹出的“保存成功”提示框中,单击“确定”。 角色创建完成。
  • 在科大讯飞构建同名技能后,导入技能文件 执行本操作前,需要在科大讯飞平台完成账号注册操作。 访问科大讯飞的AIUI开放平台。 单击界面上方的“技能工作室”。进入“技能控制台”页面,如图7所示。 图7 技能控制台 单击“创建技能”,弹出如图8所示的对话框。 参数配置说明,如下所示: 技能名称:技能名称。必须与MetaStudio服务创建的技能一一对应,如6所示。为方便识别和记忆,两边的技能名称可以设置成一样的。 技能标识:需要与MetaStudio服务新能技能的“技能标识”一致,如6所示。 图8 创建技能 输入完成后,单击“创建”。 界面提示“创建成功”,并自动跳转至“意图”页面,如图9所示。 图9 意图页面 单击“批量操作”,从下拉框中选择“批量覆盖”,在弹出的确定对话框中,单击“确定覆盖”。 从本地选择MetaStudio服务中导出的技能文件,如10所示。界面提示“批量覆盖成功”,效果如图10所示。 图10 意图页面 单击界面右上方的“构建技能”,开始构建技能。 界面提示“构建成功”,说明技能构建成功。 在左侧导航栏中,单击“发布”。进入“发布”页面,如图11所示。 图11 发布页面 确认信息无误后,单击“发布上线”。 界面提示“发布成功”,说明技能发布完成。
  • 模板创建 模板创建时有以下几种创建方式: 从菜单栏制作视频触发(已存在模板时,不会触发) 直接进入模板管理页面进行触发 制作视频触发模板创建 首次进入face平台,未创建视频模板时,单击菜单栏中的“播报型业务-制作视频”,就会触发以下弹窗提示 图5 触发模板创建1 单击弹窗中的“去创建模板”,跳转到新建模板页面,可以选择形象、背景、音色、语速等参数,参数配置完成后,单击右侧“保存”按钮进行模板创建 图6 触发模板创建2 模板管理 进入播报型业务中的模板管理,进入模板管理页面,单击页面右上角的“新建模板”,进行模板创建 图7 模板管理1 进入新建模板页面后,可以选择形象、背景、音色、语速等参数,参数配置完成后,单击右侧“保存”按钮进行模板创建 图8 模板管理2 视频管理页面触发模板创建 不存在模板时,进入播报型业务-视频管理页面,单击页面右上角的“制作视频”按钮,触发创建模板提示框;单击提示框中的“去创建模板”,进入新建模板页面,选择参数进行模板创建,该步骤与上述描述一致 图9 模板创建1 环境中已存在模板时,单击视频管理页面中右上角的“制作视频”,进入制作视频页面,可单击页面左下角的“去创建模板”按钮,跳转到新建模板页面,进行模板创建 图10 模板创建2 视频模板编辑 进入播报型业务-模板管理页面,选择视频模板进行编辑 图11 视频模板编辑1 鼠标放置在需编辑模板卡片上,触发模板详情,单击“编辑”按钮,进入修改模板页面,可以重新选择参数,对模板进行编辑 图12 视频模板编辑2
  • (可选)创建问答库 星火交互认知大模型应用,支持创建问答库。非必须创建,请根据实际情况选择使用。 在界面上方的主菜单中,单击“技能工作室”。 选择“我的问答库”页签,单击“创建问答库”。 弹出“创建问答库”对话框,如图3所示。参数设置说明如下所示: 问答类型:选择“文档问答”。 问答库名称:请自定义名称,示例:robot。 图3 创建问答库 单击“创建”,进入“知识基本信息”页面,如图4所示。 可单击“下载模板”,将模板下载至本地,基于模板修改为实际的内容后上传至当前页面。 注意:MetaStudio服务目前仅支持读取docx(包含图文)、txt和md格式,其他格式暂不支持。 docx格式说明:可以没有标题和分级标题, 如需添加标题和分级标题,请使用word标准格式,如图5和图6所示。 txt格式说明:文档内容当前仅支持纯文本,一行对应一条知识。 星火大模型会理解文档库文档的内容,重新组织语言来回答问题,不会完全按照问答对提供的答案去答复。 图4 知识基本信息 图5 标题 图6 分级标题 单击“保存文档”。等待文档名称右侧的状态,从“解析中”变为“已解析未发布”,如图7所示。 图7 保存文档 单击界面右上方的“构建发布”。发布成功后,文档名称右侧的状态更新为“发布成功”,如图8所示。 图8 构建发布
  • (可选)新增English情景模式 前面的所有操作,都是main情景模式下的配置,如果配置对话时,语言选择“中文”,则main情景模式下的配置生效。 如果配置对话时,语言选择“英文”,当前应用需要新增English情景模式,才能对话成功。 操作步骤,如下所示: 在界面上方的主菜单中,单击“我的应用”。 单击新增应用所在行的图标,进入“应用配置”页面。 图21 应用配置页面 单击“情景模式”右侧的“+”图标,弹出“新增情景模式”对话框。 一个应用可以增加多个情景模式,每个情景模式相互独立,互不干扰。 参数配置说明,如下所示: 情景模式名称:必须配置为“English”。 保持“语音语义”不变。 图22 新增情景模式 单击“确定”,English情景模式新增成功。 界面参数配置说明,如下所示: 语音识别:从下拉框中选择“通用-英文-进场”。 自然语言模型:保持默认值“星火交互认知大模型”。 管理技能配置:English情景模式下,不支持开启系统预置技能,仅支持开启自定义技能,相应操作请参考配置应用需要的技能。 (可选)开启闲聊技能:可选能力,操作请参考(可选)开启闲聊功能。 模拟测试:操作请参考模拟测试。 图23 English情景模式 单击如图23所示界面右上方的“保存修改”。 界面提示“保存成功”,说明应用的English情景模式配置完成。
  • 配置应用 在界面上方的主菜单中,单击“我的应用”。 单击新增应用所在行的图标,进入“应用配置”页面。 图9 应用配置页面 配置“自然语言模型”,从下拉框中选择“星火交互认知大模型”。 单击“管理技能配置”,弹出“配置应用需要的技能”对话框,如图10所示。 需要依次打开如下开关: 在“自定义”区域,找到创建的技能。先开启开关,再单击右下角的开关,在弹出的“技能设置”对话框中,选择需要使用的技能版本。 此时,应用已具备基础的对话能力,可以回答已配置的语料内容。 开启问答库(示例:robot)。问答库的创建操作,请参考(可选)创建问答库。 图10 配置应用需要的技能 单击右上方的“保存配置”。界面提示“保存成功”,回到“应用配置”页面。 单击界面右上方的“保存修改”。界面提示“保存成功”,说明应用配置完成。
  • 创建应用 访问科大讯飞的AIUI开放平台。 在界面上方的主菜单中,单击“我的应用”,进入“我的应用”页面。 单击“创建应用”,进入“创建应用”页面,如图1所示。 参数配置说明,如下所示: 应用名称:应用名称。 应用分类:从下拉框中选择当前应用所属分类。应用分类可以任意选择,不影响实际使用。 设备信息:勾选设备具备的条件。 应用描述:应用描述。 图1 创建应用 单击“确定创建”。界面提示“创建成功”,并弹出如图2所示的对话框。 图2 选择设备需要的AI能力 选择并开启设备需要的AI能力后,单击“确定”。 应用创建成功,自动进入新增应用的“应用配置”页面。
  • 操作步骤 登录MetaStudio控制台。 在左侧导航栏中,单击“任务中心”。 选择“分身名片”页签,如图1所示。 在“分身名片”页面,可以查看生成中、生成成功和生成失败的任务,也可以查看全部任务。 下方的名片列表中,可以查看名片封面、名称、性别、提交时间、状态等详细信息。 支持对名片进行如下操作: 单击“查看”,查看名片内容。 单击“下载”,将名片下载至本地查看。下载后的文件为mp4格式。 图1 名片生成任务