[ PROMPT_NODE_22748 ]
Multimodal Audiocraft 故障排查
[ SKILL_DOCUMENTATION ]
# AudioCraft 故障排除指南
## 安装问题
### 导入错误
**错误**: `ModuleNotFoundError: No module named 'audiocraft'`
**解决方案**:
bash
# 从 PyPI 安装
pip install audiocraft
# 或者从 GitHub 安装
pip install git+https://github.com/facebookresearch/audiocraft.git
# 验证安装
python -c "from audiocraft.models import MusicGen; print('OK')"
### 未找到 FFmpeg
**错误**: `RuntimeError: ffmpeg not found`
**解决方案**:
bash
# Ubuntu/Debian
sudo apt-get install ffmpeg
# macOS
brew install ffmpeg
# Windows (使用 conda)
conda install -c conda-forge ffmpeg
# 验证
ffmpeg -version
### PyTorch CUDA 不匹配
**错误**: `RuntimeError: CUDA error: no kernel image is available`
**解决方案**:
bash
# 检查 CUDA 版本
nvcc --version
python -c "import torch; print(torch.version.cuda)"
# 安装匹配的 PyTorch
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
# 针对 CUDA 11.8
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118
### xformers 问题
**错误**: 与 `ImportError: xformers` 相关的错误
**解决方案**:
bash
# 安装 xformers 以提高内存效率
pip install xformers
# 或者禁用 xformers
export AUDIOCRAFT_USE_XFORMERS=0
# 在 Python 中
import os
os.environ["AUDIOCRAFT_USE_XFORMERS"] = "0"
from audiocraft.models import MusicGen
## 模型加载问题
### 加载时内存不足
**错误**: 模型加载期间出现 `torch.cuda.OutOfMemoryError`
**解决方案**:
python
# 使用更小的模型
model = MusicGen.get_pretrained('facebook/musicgen-small')
# 强制先在 CPU 上加载
import torch
device = "cpu"
model = MusicGen.get_pretrained('facebook/musicgen-small', device=device)
model = model.to("cuda")
# 使用带有 device_map 的 HuggingFace
from transformers import MusicgenForConditionalGeneration
model = MusicgenForConditionalGeneration.from_pretrained(
"facebook/musicgen-small",
device_map="auto"
)
### 下载失败
**错误**: 连接错误或下载不完整
**解决方案**:
python
# 设置缓存目录
import os
os.environ["AUDIOCRAFT_CACHE_DIR"] = "/path/to/cache"
# 或者针对 HuggingFace
os.environ["HF_HOME"] = "/path/to/hf_cache"
# 恢复下载
from huggingface_hub import snapshot_download
snapshot_download("facebook/musicgen-small", resume_download=True)
# 使用本地文件
model = MusicGen.get_pretrained('/local/path/to/model')
### 模型类型错误
**错误**: 任务加载了错误的模型
*