NotaGenX-Quantized
This is a quantized version of the NotaGen model for symbolic music generation. The model generates music in ABC notation format and has been optimized for faster inference and reduced memory usage.
Model Description
- Base Model: sander-wood/notagen
- Quantization: INT8 dynamic quantization using PyTorch
- Size Reduction: ~75% smaller than the original model
- Performance: Faster inference with minimal quality loss
- Memory: Reduced VRAM requirements
Model Architecture
- Type: GPT-2 based transformer for symbolic music generation
- Input: Period, Composer, Instrumentation prompts
- Output: ABC notation music scores
- Patch Size: 16
- Patch Length: 1024
- Hidden Size: 1280
- Layers: 20 (encoder) + 6 (decoder)
Usage
from weavemuse.tools.notagen_tool import NotaGenTool
# Initialize the tool (will automatically use quantized model)
notagen = NotaGenTool()
# Generate music
result = notagen("Classical", "Mozart", "Piano")
print(result["abc"])
Quantization Details
This model has been quantized using PyTorch's dynamic quantization:
- Method: Dynamic INT8 quantization
- Target: Linear and embedding layers
- Preserved: Model architecture and functionality
- Testing: Validated against original model outputs
Performance Comparison
Metric | Original | Quantized | Improvement |
---|---|---|---|
Model Size | ~2.3GB | ~0.6GB | 75% reduction |
Load Time | ~15s | ~4s | 73% faster |
Inference | Baseline | 1.2-1.5x faster | 20-50% speedup |
VRAM Usage | ~2.1GB | ~0.8GB | 62% reduction |
Installation
pip install weavemuse
Citation
If you use this model, please cite the original NotaGen paper:
@article{notagen2024,
title={NotaGen: Symbolic Music Generation with Fine-Grained Control},
author={Wood, Sander and others},
year={2024}
}
License
MIT License - see the original model repository for full license details.
Contact
- Maintainer: manoskary
- Repository: weavemuse
- Issues: Please report issues on the main repository
- Downloads last month
- 16