Forum Discussion
Pitchbendphil
6 months agoHonored Guest
Audio Craft - no attributeError: MusicGen object has no attribute from_pretrained
Hi Community,
Hi Audiocraft Team & Community,
I'm encountering a persistent `AttributeError setup.
The import from audiocraft.models import MusicGen works, but hasattr(Music: type object 'MusicGen' has no attribute 'from_pretrained' when trying to load facebook/musicgenGen, 'from_pretrained') returns False. This setup previously worked on a Google Cloud VM.
Key Configuration-smallwithin a custom Docker environment on a Hugging Face Space (T4 GPU). Theaudiocraft.models:
Base Docker Image: nvidia/cuda:12.1.1-cudnn8-runtime-.MusicGen class imports, but the from_pretrained method is missing at runtime.
This setup previouslyubuntu22.04`
Python: 3.9 (via `deadsnakes worked on a different platform (Google Cloud VM).
Key Configuration:
Base Docker Image: nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04
/ppain Docker, in avenv`)Core Pinned Versions in requirements.txt:
torch==2.0.1 (cu118)
Python: 3.9 (via deadsnakes/ppa and managed in a venv)
Core Libraries (from requirements.txt😞
torch==2torchaudio==2.0.2` (cu118)
torchvision==0.15.2 (cu118)
audiocraft==1.0.1+cu118
torchaudio==2.0.2+cu118
torchvision==0.15.2+cu118
audiocraft==1.1.0
numpy==1.24.1.0
numpy==1.24.4
xformers==0.0.20
transformers>=4.28.0,<4.32.0
Relevant system dependencies (build-essential, cmake, ffmpeg) are installed.
.4`xformers==0.0.20
transformers>=4.28.0,<4.32.0
accelerate>=0.19.0,<0.22.0
librosa==0.9.2* All Dockerfile syntax, pip conflicts, and permission errors have been resolved. The app builds and Streamlit starts.
Minimal app.py to Reproduce:
Generated python
import streamlit as st st.title("Audiocraft MusicGen Load Test") try: from audiocraft.models import Music * `streamlit` * System dependencies like `build-essential`, `cmake`, `ffmpeg` are installed. * File permissions and cache directories (`STREAMLIT_HOME`, `HF_HOME`) are correctly set for a non-root user. **Minimal `app.py` to Reproduce:** ```python importGen st.success("Class 'MusicGen' imported successfully!") if hasattr(MusicGen, 'from_pretrained'): st.success("'from_pretrained' method exists. Attempting to load model...") model = MusicGen.from_pretrained("facebook/musicgen-small") # This line isn't reached streamlit as st # audiocraft and torch are imported within the function @st.cache_resource def attempt_load_model(): st.info("Attempting to load MusicGen model...") try: from audiocraft.models import MusicGen st.success("Class 'MusicGen' imported successfully!") if not hasattr(MusicGen, 'from_pretrained'): st.error("ERROR: 'MusicGen' object st.success("MODEL LOADED SUCCESSFULLY!") else: st.error("ERROR: 'MusicGen' object has no attribute 'from_pretrained'") except Exception as e: st.error(f"Error: {type(e).__name__}: {e}")
The app consistently outputs: "ERROR: 'MusicGen' object has no attribute 'from_pretrained'".
I suspect an issue with how audiocraft or its compiled lacks 'from_pretrained' method.")
return None
Generated code
model = MusicGen.from_pretrained("facebook/musicgen-small") st.success("MODEL LOADED SUCCESSFULLY!") st.balloons() return model except Exception as e: st.error(f"Error loading model: {type(e).__name__}: {e}") return None
attempt_load_model()
Generated code
**Observed Behavior:** components (like `xformers` or `torch`'s CUDA parts) build or initialize in this specific Docker/HF T4 environment, leading to an incomplete `MusicGen` object. Could there be a known incompatibility, a required build flag, or an environment variable I'm missing for this setup? Any guidance would be greatly appreciated. Thank you!
No RepliesBe the first to reply
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 months ago
- 6 months ago
- 4 years ago