RuntimeError: GET was unable to find an engine to execute this computation
import torch
from diffusers import BitsAndBytesConfig, HunyuanVideoTransformer3DModel, HunyuanVideoPipeline
===== 1. ๅผบๅถ่ฎพๅค็ปไธ =====
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
===== 2. ้ๅ้ ็ฝฎไฟฎๆญฃ =====
quant_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16
)
===== 3. ๆจกๅๅ ่ฝฝไผๅ =====
transformer = HunyuanVideoTransformer3DModel.from_pretrained(
"./models/hunyuanvideo-community/HunyuanVideo",
subfolder="transformer",
quantization_config=quant_config,
torch_dtype=torch.float16
)
===== 4. ๆตๆฐด็บฟๅผบๅ้ ็ฝฎ =====
pipeline = HunyuanVideoPipeline.from_pretrained(
"./models/hunyuanvideo-community/HunyuanVideo",
transformer=transformer,
torch_dtype=torch.float16,
device_map="balanced",#ๆญคๅค,device_map="balanced"ๅฏ่ฝๅจๅคGPU็ฏๅขไธๅ้
ไธๅๅ๏ผๅฏผ่ด้จๅๅฑ็ๅจCPUไธใๅปบ่ฎฎๆนไธบๅ้ข่ฆๅ ๏ผ pipeline.enable_model_cpu_offload()
)
===== 5. ๆง่ก็ฏๅข้็ฆป =====
with torch.cuda.amp.autocast(), torch.no_grad():
video = pipeline(
prompt="A cat walks on the grass, realistic style.",
num_frames=61,
num_inference_steps=30,
generator=torch.Generator(device=device) # ้ๆบ็งๅญ่ฎพๅคๅๆญฅ
).frames
-------------------------ๆฅ้ไบ๏ผRuntimeError: GET was unable to find an engine to execute this computation ------------------
oading checkpoint shards: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 4/4 [00:57<00:00, 14.25s/it]
Loading pipeline components...: 100%|โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 7/7 [01:15<00:00, 10.82s/it]
0%| | 0/30 [00:11<?, ?it/s]
Traceback (most recent call last):
File "/paddle/www/txsb/api/virtual_human/ๆๅญ_็ๆ่ง้ข.py", line 76, in
video = pipeline(
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video.py", line 647, in call
noise_pred = self.transformer(
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/diffusers/models/transformers/transformer_hunyuan_video.py", line 708, in forward
hidden_states = self.x_embedder(hidden_states)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/diffusers/models/transformers/transformer_hunyuan_video.py", line 153, in forward
hidden_states = self.proj(hidden_states)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 610, in forward
return self._conv_forward(input, self.weight, self.bias)
File "/home/data/miniconda3/envs/museTalk/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 605, in _conv_forward
return F.conv3d(
RuntimeError: GET was unable to find an engine to execute this computation