Text Generation
Transformers
TensorBoard
Safetensors
gpt2
miditok
music
music generation
piano
classical
text-generation-inference
Instructions to use NathanFradet/Maestro-TSD-bpe20k with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use NathanFradet/Maestro-TSD-bpe20k with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="NathanFradet/Maestro-TSD-bpe20k")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("NathanFradet/Maestro-TSD-bpe20k") model = AutoModelForCausalLM.from_pretrained("NathanFradet/Maestro-TSD-bpe20k") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use NathanFradet/Maestro-TSD-bpe20k with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "NathanFradet/Maestro-TSD-bpe20k" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NathanFradet/Maestro-TSD-bpe20k", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/NathanFradet/Maestro-TSD-bpe20k
- SGLang
How to use NathanFradet/Maestro-TSD-bpe20k with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "NathanFradet/Maestro-TSD-bpe20k" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NathanFradet/Maestro-TSD-bpe20k", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "NathanFradet/Maestro-TSD-bpe20k" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NathanFradet/Maestro-TSD-bpe20k", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use NathanFradet/Maestro-TSD-bpe20k with Docker Model Runner:
docker model run hf.co/NathanFradet/Maestro-TSD-bpe20k
MidiTok version and code corrections
#1
by asigalov61 - opened
Hey @Natooz
I am posting it here so that you can correct it...
Please update the recommended MidiTok version to the latest one because 2.7.1 does not work. The latest version (3.0.4) seems to work fine.
Also, please update the code snippet for both models. This is what worked for me:
import torch
from transformers import AutoModelForCausalLM
from miditok import TSD
from symusic import Score
torch.set_default_device("cuda")
model = AutoModelForCausalLM.from_pretrained("Natooz/Maestro-TSD-bpe20k", trust_remote_code=True, torch_dtype="auto")
tokenizer = TSD.from_pretrained("Natooz/Maestro-TSD-bpe20k")
input_midi = Score("Giant-Music-Transformer-Piano-Seed-1.mid")
input_tokens = tokenizer(input_midi)
generated_token_ids = model.generate(torch.LongTensor([input_tokens[0].ids]).cuda(), max_length=500)
generated_midi = tokenizer(generated_token_ids.tolist())
generated_midi.dump_midi("continued.mid")
Hope this is helpful :)
Alex