HunyuanVideo是一种文本到视频的扩散模型,能够在给定文本输入的情况下生成相符的视频。当前支持分辨率如下:
| 分辨率 | h/w=9:16 | h/w=9:16 | h/w=4:3 | h/w=3:4 | h/w=1:1 |
|---|---|---|---|---|---|
| 720P | 720x1280 | 1280x720 | 1104x832 | 832x1104 | 960x960 |
支持设备:Atlas 800I A2
支持卡数:1、2、3、4、6、8、16
镜像:mindie:2.2.RC1-800I-A2-py311-openeuler24.03-lts
# 若环境镜像中没有gcc、g++,请用户自行安装
yum install gcc
yum install g++
# 导入头文件路径
export CPLUS_INCLUDE_PATH=/usr/include/c++/12/:/usr/include/c++/12/aarch64-openEuler-linux/:$CPLUS_INCLUDE_PATHgit clone https://gitee.com/ascend/ModelZoo-PyTorch.git
cd ModelZoo-PyTorch/MindIE/MultiModal/HunyuanVideo/pip install -r requirements.txt# text_encoder权重链接
https://huggingface.co/xtuner/llava-llama-3-8b-v1_1-transformers
# text_encoder_2权重链接
https://huggingface.co/openai/clip-vit-large-patch14
# hunyuan-model权重链接
https://huggingface.co/tencent/HunyuanVideo权重目录如下所示:
HunyuanVideo
├──README.md
├──hunyuan-video-t2v-720p
│ ├──transformers
│ ├──vae
├──llava-llama-3-8b-v1_1-transformers
├──clip-vit-large-patch14修改text_encoder的权重:
python hyvideo/utils/preprocess_text_encoder_tokenizer_utils.py --input_dir llava-llama-3-8b-v1_1-transformers --output_dir text_encoder修改之后的权重目录如下所示:
HunyuanVideo
├──README.md
├──hunyuan-video-t2v-720p
│ ├──transformers
│ ├──vae
├──text_encoder
├──clip-vit-large-patch14text_encoder目录下,会生成对应的权重文件。
export TOKENIZERS_PARALLELISM=false
export ALGO=0
python sample_video.py \
--model-base HunyuanVideo \
--dit-weight HunyuanVideo/hunyuan-video-t2v-720p/transformers/mp_rank_00_model_states.pt \
--vae-path HunyuanVideo/hunyuan-video-t2v-720p/vae \
--text-encoder-path HunyuanVideo/text_encoder \
--text-encoder-2-path HunyuanVideo/clip-vit-large-patch14 \
--model-resolution "720p" \
--video-size 720 1280 \
--video-length 129 \
--infer-steps 50 \
--prompt "A cat walks on the grass, realistic style." \
--seed 42 \
--flow-reverse \
--num-videos 1 \
--device_id 0 \
--save-path ./results参数说明:
2025-12-09 16:38:14.542 | INFO | hyvideo.inference:from_pretrained:308 - Building model...
2025-12-09 16:38:48.066 | INFO | hyvideo.vae:load_vae:53 - VAE to dtype: torch.float16
2025-12-09 16:38:48.641 | INFO | hyvideo.text_encoder:load_text_encoder:28 - Loading text encoder model (llm) from: /root/autodl-tmp/HunyuanVideo/text_encoder
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:07<00:00, 1.76s/it]
2025-12-09 16:39:01.773 | INFO | hyvideo.text_encoder:load_text_encoder:50 - Text encoder to dtype: torch.float16
2025-12-09 16:39:28.942 | INFO | hyvideo.text_encoder:load_tokenizer:64 - Loading tokenizer (llm) from: /root/autodl-tmp/HunyuanVideo/text_encoder
2025-12-09 16:39:29.932 | INFO | hyvideo.text_encoder:load_text_encoder:28 - Loading text encoder model (clipL) from: /root/autodl-tmp/HunyuanVideo/clip-vit-large-patch14
2025-12-09 16:39:30.214 | INFO | hyvideo.text_encoder:load_text_encoder:50 - Text encoder to dtype: torch.float16
2025-12-09 16:39:30.607 | INFO | hyvideo.text_encoder:load_tokenizer:64 - Loading tokenizer (clipL) from: /root/autodl-tmp/HunyuanVideo/clip-vit-large-patch14
/usr/local/lib64/python3.11/site-packages/torch_npu/contrib/transfer_to_npu.py:162: UserWarning: Cannot create tensor with interal format while allow_internel_format=False, tensor will be created with base format. (Triggered internally at build/CMakeFiles/torch_npu.dir/compiler_depend.ts:334.)
return fn(*args, **kwargs)
0%| |
0/2 [00:00<?, ?it/s]100%|
2/2 [06:23<00:00, 191.50s/it]