add setup steps and reqs
This commit is contained in:
@@ -205,3 +205,6 @@ cython_debug/
|
||||
marimo/_static/
|
||||
marimo/_lsp/
|
||||
__marimo__/
|
||||
|
||||
# artifacts
|
||||
soundfonts/
|
||||
@@ -2,3 +2,50 @@
|
||||
[NeurIPS AI4Music '25] MIDI-LLM: Adapting LLMs for text-to-MIDI music generation.
|
||||
|
||||
Built with Llama 3.2 (1B) LLM.
|
||||
|
||||
# Setup
|
||||
|
||||
- A GPU with 16GB+ VRAM and CUDA 12.x is recommended
|
||||
|
||||
- Install [Miniconda / Anaconda](https://www.anaconda.com/docs/getting-started/miniconda/install)
|
||||
|
||||
- Create and activate Python 3.11 conda environment
|
||||
```bash
|
||||
conda create -n midi-llm python=3.11
|
||||
conda activate midi-llm
|
||||
```
|
||||
|
||||
- Install packages + download soundfont for MIDI-to-audio synthesis
|
||||
```bash
|
||||
# Conda pkgs for audio processing & synthesis
|
||||
conda install conda-forge::ffmpeg
|
||||
conda install conda-forge::fluidsynth
|
||||
|
||||
# Soundfont (credit -- '@Frank Wen' https://member.keymusician.com/Member/FluidR3_GM/README.html)
|
||||
wget https://keymusician01.s3.amazonaws.com/FluidR3_GM.zip
|
||||
mkdir -p soundfonts
|
||||
unzip FluidR3_GM.zip -d ./soundfonts/FluidR3_GM
|
||||
rm FluidR3_GM.zip
|
||||
```
|
||||
|
||||
- Install [PyTorch](https://pytorch.org/get-started/locally/) with `pip`
|
||||
```bash
|
||||
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
|
||||
```
|
||||
(Note: this is an example for CUDA 12.6, check PyTorch website if you're on other CUDA versions)
|
||||
|
||||
- Check if PyTorch works correctly on CUDA GPU
|
||||
|
||||
```bash
|
||||
python -c "import torch; x = torch.randn(30, 30).cuda(); y = x.clone(); z = torch.mm(x, y); print(f'GPU works correctly, output shape: {z.shape}')"
|
||||
```
|
||||
|
||||
- Install other dependencies
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
- Verify all installation
|
||||
```bash
|
||||
python -c "import torch; from vllm import LLM; from anticipation.convert import events_to_midi; print('Setup successful')"
|
||||
```
|
||||
@@ -0,0 +1,143 @@
|
||||
aiohappyeyeballs==2.6.1
|
||||
aiohttp==3.13.1
|
||||
aiosignal==1.4.0
|
||||
annotated-types==0.7.0
|
||||
anticipation @ git+https://github.com/jthickstun/anticipation.git@af37397922665a0fb8d474d7988b0f3755a38d45
|
||||
anyio==4.11.0
|
||||
astor==0.8.1
|
||||
attrs==25.4.0
|
||||
blake3==1.0.8
|
||||
cachetools==6.2.1
|
||||
cbor2==5.7.0
|
||||
certifi==2025.10.5
|
||||
cffi==2.0.0
|
||||
charset-normalizer==3.4.4
|
||||
click==8.2.1
|
||||
cloudpickle==3.1.1
|
||||
compressed-tensors==0.11.0
|
||||
cupy-cuda12x==13.6.0
|
||||
depyf==0.19.0
|
||||
dill==0.4.0
|
||||
diskcache==5.6.3
|
||||
distro==1.9.0
|
||||
dnspython==2.8.0
|
||||
einops==0.8.1
|
||||
email-validator==2.3.0
|
||||
fastapi==0.119.1
|
||||
fastapi-cli==0.0.14
|
||||
fastapi-cloud-cli==0.3.1
|
||||
fastrlock==0.8.3
|
||||
filelock==3.19.1
|
||||
frozendict==2.4.6
|
||||
frozenlist==1.8.0
|
||||
fsspec==2025.9.0
|
||||
gguf==0.17.1
|
||||
h11==0.16.0
|
||||
hf-xet==1.1.10
|
||||
httpcore==1.0.9
|
||||
httptools==0.7.1
|
||||
httpx==0.28.1
|
||||
huggingface-hub==0.36.0
|
||||
idna==3.11
|
||||
interegular==0.3.3
|
||||
Jinja2==3.1.6
|
||||
jiter==0.11.1
|
||||
jsonschema==4.25.1
|
||||
jsonschema-specifications==2025.9.1
|
||||
lark==1.2.2
|
||||
llguidance==0.7.30
|
||||
llvmlite==0.44.0
|
||||
lm-format-enforcer==0.11.3
|
||||
markdown-it-py==4.0.0
|
||||
MarkupSafe==2.1.5
|
||||
mdurl==0.1.2
|
||||
midi2audio==0.1.1
|
||||
mido==1.3.3
|
||||
mistral_common==1.8.5
|
||||
mpmath==1.3.0
|
||||
msgpack==1.1.2
|
||||
msgspec==0.19.0
|
||||
multidict==6.7.0
|
||||
networkx==3.5
|
||||
ninja==1.13.0
|
||||
numba==0.61.2
|
||||
numpy==2.2.6
|
||||
nvidia-cublas-cu12==12.8.4.1
|
||||
nvidia-cuda-cupti-cu12==12.8.90
|
||||
nvidia-cuda-nvrtc-cu12==12.8.93
|
||||
nvidia-cuda-runtime-cu12==12.8.90
|
||||
nvidia-cudnn-cu12==9.10.2.21
|
||||
nvidia-cufft-cu12==11.3.3.83
|
||||
nvidia-cufile-cu12==1.13.1.3
|
||||
nvidia-curand-cu12==10.3.9.90
|
||||
nvidia-cusolver-cu12==11.7.3.90
|
||||
nvidia-cusparse-cu12==12.5.8.93
|
||||
nvidia-cusparselt-cu12==0.7.1
|
||||
nvidia-nccl-cu12==2.27.3
|
||||
nvidia-nvjitlink-cu12==12.8.93
|
||||
nvidia-nvshmem-cu12==3.3.20
|
||||
nvidia-nvtx-cu12==12.8.90
|
||||
openai==2.6.0
|
||||
openai-harmony==0.0.4
|
||||
opencv-python-headless==4.12.0.88
|
||||
outlines_core==0.2.11
|
||||
packaging==25.0
|
||||
partial-json-parser==0.2.1.1.post6
|
||||
pillow==11.3.0
|
||||
prometheus-fastapi-instrumentator==7.1.0
|
||||
prometheus_client==0.23.1
|
||||
propcache==0.4.1
|
||||
protobuf==6.33.0
|
||||
psutil==7.1.1
|
||||
py-cpuinfo==9.0.0
|
||||
pybase64==1.4.2
|
||||
pycountry==24.6.1
|
||||
pycparser==2.23
|
||||
pydantic==2.12.3
|
||||
pydantic-extra-types==2.10.6
|
||||
pydantic_core==2.41.4
|
||||
Pygments==2.19.2
|
||||
python-dotenv==1.1.1
|
||||
python-json-logger==4.0.0
|
||||
python-multipart==0.0.20
|
||||
PyYAML==6.0.3
|
||||
pyzmq==27.1.0
|
||||
ray==2.50.1
|
||||
referencing==0.37.0
|
||||
regex==2025.10.23
|
||||
requests==2.32.5
|
||||
rich==14.2.0
|
||||
rich-toolkit==0.15.1
|
||||
rignore==0.7.1
|
||||
rpds-py==0.28.0
|
||||
safetensors==0.6.2
|
||||
scipy==1.16.2
|
||||
sentencepiece==0.2.1
|
||||
sentry-sdk==2.42.1
|
||||
setproctitle==1.3.7
|
||||
shellingham==1.5.4
|
||||
sniffio==1.3.1
|
||||
soundfile==0.13.1
|
||||
soxr==1.0.0
|
||||
starlette==0.48.0
|
||||
sympy==1.14.0
|
||||
tiktoken==0.12.0
|
||||
tokenizers==0.22.1
|
||||
torch==2.8.0
|
||||
torchaudio==2.8.0
|
||||
torchvision==0.23.0
|
||||
tqdm==4.67.1
|
||||
transformers==4.57.1
|
||||
triton==3.4.0
|
||||
typer==0.20.0
|
||||
typing-inspection==0.4.2
|
||||
typing_extensions==4.15.0
|
||||
urllib3==2.5.0
|
||||
uvicorn==0.38.0
|
||||
uvloop==0.22.1
|
||||
vllm==0.11.0
|
||||
watchfiles==1.1.1
|
||||
websockets==15.0.1
|
||||
xformers==0.0.32.post1
|
||||
xgrammar==0.1.25
|
||||
yarl==1.22.0
|
||||
Reference in New Issue
Block a user