JARVIS - Auto-Magical Suite of tools to streamline your ML workflow
Experiment Manager, MLOps and Data-Management
JARVIS is a ML/DL development and production suite, it contains FOUR main modules:
- Experiment Manager - Automagical experiment tracking, environments and results
- MLOps - Orchestration, Automation & Pipelines solution for ML/DL jobs (K8s / Cloud / bare-metal)
- Data-Management - Fully differentiable data management & version control solution on top of object-storage (S3 / GS / Azure / NAS)
- NEW ๐ฅ Model-Serving ๐ - cloud-ready Scalable model serving solution!
โจ Deploy new model endpoints in under 5 minutes โจ
๐ช includes optimized GPU serving support backed by Nvidia-Triton ๐ฆพ
๐ with out-of-the-box Model Monitoring ๐ฑ
Instrumenting these components is the JARVIS-server, see Self-Hosting & Free tier Hosting
Adding only 2 lines to your code gets you the following
- Complete experiment setup log
- Full source control info including non-committed local changes
- Execution environment (including specific packages & versions)
- Hyper-parameters
- Initial model weights file
- Full experiment output automatic capture
- stdout and stderr
- Resource Monitoring (CPU/GPU utilization, temperature, IO, network, etc.)
- Model snapshots (With optional automatic upload to central storage: Shared folder, S3, GS, Azure, Http)
- Artifacts log & store (Shared folder, S3, GS, Azure, Http)
- Tensorboard/TensorboardX scalars, metrics, histograms, images, audio and video samples
- Matplotlib & Seaborn
- JARVIS Logger interface for complete flexibility.
- Extensive platform support and integrations
- Supported ML/DL frameworks: PyTorch (incl' ignite / lightning), Tensorflow, Keras, AutoKeras, FastAI, XGBoost, LightGBM, MegEngine and Scikit-Learn
- Seamless integration (including version control) with Jupyter Notebook and PyCharm remote debugging
-
Sign up for free to the JARVIS Hosted Service (alternatively, you can set up your own server, see here).
jarvis Demo Server: JARVIS no longer uses the demo server by default. To enable the demo server, set the
jarvis_NO_DEFAULT_SERVER=0
environment variable. Credentials aren't needed, but experiments launched to the demo server are public, so make sure not to launch sensitive experiments if using the demo server. -
Install the
jarvis
python package:pip install jarvis
-
Connect the JARVIS SDK to the server by creating credentials, then execute the command below and follow the instructions:
jarvis-init
-
Add two lines to your code:
from jarvis import Task task = Task.init(project_name='examples', task_name='hello world')
You are done, everything your process outputs is now automagically logged into JARVIS.
Next step, automation! Learn more about JARVIS's two-click automation here.
The JARVIS run-time components:
- The JARVIS Python Package for integrating JARVIS into your existing scripts by adding just two lines of code, and optionally extending your experiments and other workflows with JARVIS powerful and versatile set of classes and methods.
- The JARVIS Server storing experiment, model, and workflow data, and supporting the Web UI experiment manager, and ML-Ops automation for reproducibility and tuning. It is available as a hosted service and open source for you to deploy your own JARVIS Server.
- The JARVIS Agent for ML-Ops orchestration, experiment and workflow reproducibility, and scalability.
JARVIS is our solution to a problem we share with countless other researchers and developers in the machine learning/deep learning universe: Training production-grade deep learning models is a glorious but messy process. JARVIS tracks and controls the process by associating code version control, research projects, performance metrics, and model provenance.
We designed JARVIS specifically to require effortless integration so that teams can preserve their existing methods and practices.
- Use it on a daily basis to boost collaboration and visibility in your team
- Create a remote job from any experiment with a click of a button
- Automate processes and create pipelines to collect your experimentation logs, outputs, and data
- Store all you data on any object-storage solution, with the simplest interface possible
- Make you data transparent by cataloging it all on the JARVIS platform
We believe JARVIS is ground-breaking. We wish to establish new standards of true seamless integration between experiment management,ML-Ops and data management.