Turn Visual Studio Code into a machine learning experimentation platform with the DVC extension
Today we are releasing the DVC extension, which brings a full machine learning experimentation platform to Visual Studio Code. Manage your data, run experiments, compare metrics, and visualize plots, all from the comfort of your IDE.
Since its beta release in 2017, DVC has become an essential tool for many data science teams. Its data versioning capabilities, reproducible pipelines, and experiment tracking features are at the core of our ecosystem of open MLOps tools.
Today we are proud to launch a new product that extends how machine learning teams can use DVC: our extension for Visual Studio Code.
With this extension, you get a full VS Code-native experimentation platform for your machine learning projects. Control your datasets and models, run experiments, view metrics, create plots, and much more. You can do this all from the comfort of your IDE, without the need for external services or logins. The only thing you need is a DVC pipeline.
Download the DVC extension
Why a VS Code extension?
We built DVC to expand upon the Git workflow to make it well-suited for ML experimentation. This approach brought us independence from the infrastructure and provided a natural connection to best practices from software engineering. However, a pure CLI tool can only take things so far when it comes to visualizing experiments or displaying large tables.
VS Code is the IDE of choice for many and was a natural choice for a platform to add a graphical interface to DVC.
With this extension, we want to:
- Move the ML experimentation workflow into your IDE
- Provide interactive plots and tables for analyzing ML experiments
- Make DVC more accessible by providing an alternative to the complexity of the CLI
As data scientists, DVC is our toolbox. This extension turns VS Code into our workshop.
Features
Our extension introduces the DVC view, your one-stop-shop for everything related to your ML experiments. You can run new experiments from here, manage parameters, and compare metrics and plots for different models.
The extension also adds panes to the Explorer and Source Control views for managing all datasets and models in your DVC repository.
Check out the feature video on Youtube!
Experiment bookkeeping
Quickly run new experiments and compare their resulting metrics in the experiments table. Use the command palette or buttons to reproduce old experiments, run new ones, or add them to the queue for later.
Interactive plots
Select experiments to compare and visualize their performance in interactive plots. You can export these plots to PNG or SVG for use elsewhere.
Live tracking
Get insight into the training process of your models with live tracking of metrics. As soon as your metrics change, your plots will be updated automatically.
Reproducibility
Click Apply to workspace to reproduce any past experiment. DVC will restore all artifacts for that experiment, and you can rerun it or use it as a base for a new experiment.
Data management
Use the DVC tracked panel in the Explorer view to quickly navigate the files in the DVC project(s) in your workspace.
The Source Control view now lets you manage datasets and models tracked by DVC without using the terminal. The DVC panel shows you the state of the workspace. From here, you can track artifacts and synchronize versions with your remote repository. Just like you use Git to track changes to your code!
What's next?
From here on out, we plan on making the extension even better with new features
such as pipeline (DAG) support,
TPI integration for
remote execution, autocomplete for dvc.yaml
, and parallel coordinate plots.
Of course, we would love to hear what you look forward to most. Please give us feedback on what you would like to see next!
Thank you! ❤️
We would sincerely like to thank everyone who has helped make this project possible:
- Henning Dieterichs, for helping us get started
- Paige Bailey, for her support and warm tweets
- Sid Unnithan, for his review and help in getting the word out there
- The VS Code developer community
- Everyone who has beta-tested the extension and provided their feedback!
Resources
Want to read more about DVC or the extension? Check out the following pages: