Make your ML experiment wrapper scripts smarter with...
Install • Tutorial / Demo • Documentation • FAQs • Releases
🌟 Labtasker makes ML experiment wrapper scripts smarter with task prioritization, failure handling, halfway resume and more: just change 1 line of code.
If you like our project, please give us a star ⭐ on GitHub for latest update.
TLDR: Replace for
loops in your experiment wrapper script with labtasker to enable features like experiment
parallelization, dynamic task prioritization, failure handling, halfway resume, and more.
🐳 For detailed examples and concepts, check out the documentation.
This demo shows how to easily submit task arguments and run jobs in parallel.
It also features an event listener to monitor task execution in real-time and automate workflows, such as sending emails on task failure.
For more detailed steps, please refer to the content in the Tutorial / Demo.
- ⚙️ Easy configuration and setup.
- 🧩 Versatile and minimalistic design.
- 🔄 Supports both CLI and Python API for task scheduling.
- 🔌 Customizable plugin system.
- ⚡️ Effortless Parallelization: Distribute tasks across multiple GPU workers with just a few lines of code.
- 🛡️ Intelligent Failure Management: Automatically capture exceptions, retry failed tasks, and maintain detailed error logs.
- 🔄 Seamless Recovery: Resume failed experiments with a single command - no more scavenging through logs or directories.
- 🎯 Real-time Prioritization: Changed your mind about experiment settings? Instantly cancel, add, or reschedule tasks without disrupting existing ones.
- 🤖 Workflow Automation: Set up smart event triggers for email notifications or task workflow based on FSM transition events.
- 📊 Streamlined Logging: All stdout/stderr automatically organized in
.labtasker/logs
- zero configuration required. - 🧩 Extensible Plugin System: Create custom command combinations or leverage community plugins to extend functionality.
Note
You need a running Labtasker server to use the client tools.
Simply use the installed Python CLI labtasker-server serve
or use docker-compose to deploy the server.
See deployment instructions.
# Install with optional bundled plugins
pip install 'labtasker[plugins]'
pip install git+https://github.com/luocfprime/labtasker.git
Use the following command to launch a labtasker server in the background:
labtasker-server serve &
Use the following command to quickly setup a labtasker queue for your project:
labtasker init
Then, use labtasker submit
to submit tasks and use labtasker loop
to run tasks across any number of workers.
Tip
If you think manually writing 2 scripts for submit and run is laborious, you can checkout the labtasker-plugin-script-generate. It automatically generate 2 scripts based on the script you provided.
For detailed information on demo, tutorial, deployment, usage, please refer to the documentation.
See LICENSE for details.