【模型开发时推荐使用配套的环境版本】
请参考安装指南
git clone https://gitee.com/ascend/MindSpeed-MM.git
git clone https://github.com/NVIDIA/Megatron-LM.git
cd Megatron-LM
git checkout core_v0.12.1
cp -r megatron ../MindSpeed-MM/
cd ..
cd MindSpeed-MM
# python3.10
conda create -n test python=3.10
conda activate test
# 安装 torch 和 torch_npu,注意要选择对应python版本、x86或arm的torch、torch_npu及apex包
pip install torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl
pip install torch_npu-2.7.1*-cp310-cp310-manylinux_2_28_aarch64.whl
# apex for Ascend 参考 https://gitee.com/ascend/apex
# 建议从原仓编译安装
# 将shell脚本中的环境变量路径修改为真实路径,下面为参考路径
source /usr/local/Ascend/ascend-toolkit/set_env.sh
# 安装加速库
git clone https://gitee.com/ascend/MindSpeed.git
cd MindSpeed
# checkout commit from MindSpeed core_r0.12.1
git checkout 6d63944cb2470a0bebc38dfb65299b91329b8d92
pip install -r requirements.txt
pip install -e .
cd ..
# 安装其余依赖库
pip install -e .
【X86版安装】
pip install decord==0.6.0
【ARM版安装】
apt
方式安装请参考链接
yum
方式安装请参考脚本
下载预训练视觉感知模型
vgg_lpips: 下载vgg.pth
权重到MindSpeed-MM/.cache/lpips/
目录下;
vgg16: 下载vgg16-397923af.pth
权重到用户目录~/.cache/torch/hub/checkpoints/
下;
用户需自行获取并解压pixabay_v2数据集,获取数据结构如下:
$pixabay_v2
├── folder_01
├── ├── video0.mp4
├── ├── video1.mp4
├── ├── ...
├── folder_02
├── folder_03
└── ...
配置脚本前需要完成前置准备工作,包括:环境安装、权重下载及保存、数据集准备,详情可查看对应章节。
需根据实际情况修改model.json
和data.json
中的权重和数据集路径,包括from_pretrained
、perceptual_from_pretrained
、video_folder
字段。
【单机运行】
GPUS_PER_NODE=8
MASTER_ADDR=localhost
MASTER_PORT=29505
NNODES=1
NODE_RANK=0
WORLD_SIZE=$(($GPUS_PER_NODE * $NNODES))
【多机运行】
# 根据分布式集群实际情况配置分布式参数
GPUS_PER_NODE=8 #每个节点的卡数
MASTER_ADDR="your master node IP" #都需要修改为主节点的IP地址(不能为localhost)
MASTER_PORT=29505
NNODES=2 #集群里的节点数,以实际情况填写,
NODE_RANK="current node id" #当前节点的RANK,多个节点不能重复,主节点为0, 其他节点可以是1,2..
WORLD_SIZE=$(($GPUS_PER_NODE * $NNODES))
bash examples/vae/pretrain_vae.sh
注意:
ASCEND_SLOG_PRINT_TO_STDOUT: 是否开启日志打印, 0:关闭日志打屏,1:开启日志打屏
ASCEND_GLOBAL_LOG_LEVEL: 设置应用类日志的日志级别及各模块日志级别,仅支持调试日志。0:对应DEBUG级别,1:对应INFO级别,2:对应WARNING级别,3:对应ERROR级别,4:对应NULL级别,不输出日志
TASK_QUEUE_ENABLE: 用于控制开启task_queue算子下发队列优化的等级,0:关闭,1:开启Level 1优化,2:开启Level 2优化
COMBINED_ENABLE: 设置combined标志。设置为0表示关闭此功能;设置为1表示开启,用于优化非连续两个算子组合类场景
CPU_AFFINITY_CONF: 控制CPU端算子任务的处理器亲和性,即设定任务绑核,设置0或未设置:表示不启用绑核功能, 1:表示开启粗粒度绑核, 2:表示开启细粒度绑核
HCCL_CONNECT_TIMEOUT: 用于限制不同设备之间socket建链过程的超时等待时间,需要配置为整数,取值范围[120,7200],默认值为120,单位s
GPUS_PER_NODE: 配置一个计算节点上使用的GPU数量
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。