Skip to content

Commit

Permalink
review and update the walkthrough
Browse files Browse the repository at this point in the history
  • Loading branch information
shcheklein committed Jun 14, 2022
1 parent d22127e commit b1f5fa0
Show file tree
Hide file tree
Showing 47 changed files with 382 additions and 133 deletions.
116 changes: 62 additions & 54 deletions extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1341,115 +1341,112 @@
"walkthroughs": [
{
"id": "welcome",
"title": "Get Started with DVC",
"description": "Your first steps to set up a DVC project with all the powerful tools and features that the DVC extension has to offer!",
"title": "Get Started",
"description": "Your first steps to build better models faster with experiment tracking and dataset versioning",
"steps": [
{
"id": "dvc.installDVC",
"title": "Install DVC",
"description": "The DVC extension requires DVC to be installed. To install follow the guide shown on [dvc.org](https://dvc.org).\n\n[Install DVC](https://dvc.org/doc/install)\n",
"description": "This extension requires DVC to be installed.\n\n[Install DVC](https://dvc.org/doc/install)\n",
"media": {
"markdown": "resources/walkthrough/install-dvc.md"
},
"completionEvents": [
"onLink:https://dvc.org",
"onLink:https://dvc.org/doc/install"
"onLink:https://dvc.org/doc/install",
"onCommand:dvc.setupWorkspace"
]
},
{
"id": "dvc.setup",
"title": "Setup The Workspace",
"description": "Setup the workspace for the DVC extension.\n[Setup The Workspace](command:dvc.setupWorkspace)",
"id": "dvc.setupProject",
"title": "Setup a DVC Project",
"description": "Try an example DVC project or setup a new quickly, and start tracking datasets, models, metrics, and plots\n\n[Example Project](https://github.com/iterative/example-get-started)\n",
"media": {
"markdown": "resources/walkthrough/setup-workspace.md"
"markdown": "resources/walkthrough/setup-project.md"
},
"completionEvents": [
"onCommand:dvc.setupWorkspace"
"onLink:https://github.com/iterative/example-get-started",
"onLink:https://github.com/iterative/vscode-dvc/tree/main/demo",
"onLink:https://dvc.org/doc/dvclive"
]
},
{
"id": "dvc.showCommands",
"title": "Available Commands",
"description": "View available commands.\n[View Commands](command:dvc.showCommands)",
"description": "See all available commands.\n[View Commands](command:dvc.showCommands)",
"media": {
"markdown": "resources/walkthrough/command-palette.md"
},
"completionEvents": [
"onCommand:dvc.showCommands"
],
"when": "dvc.commands.available && dvc.project.available"
]
},
{
"id": "dvc.showOutput",
"title": "Output Channel",
"description": "View the DVC output channel.\n[View Output](command:dvc.showOutput)",
"id": "dvc.viewContainer",
"title": "Control from the Side Bar",
"description": "Use rich views to quickly access, control, or overview your experiments and plots.\n[Show Views](command:workbench.view.extension.dvc-views)",
"media": {
"markdown": "resources/walkthrough/output-channel.md"
"markdown": "resources/walkthrough/view-container.md"
},
"completionEvents": [
"onCommand:dvc.showOutput"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:workbench.view.extension.dvc-views"
]
},
{
"id": "dvc.scm",
"title": "Source Control Management",
"description": "Open the SCM view.\n[Show SCM](command:workbench.view.scm)",
"id": "dvc.experimentsTable",
"title": "Experiments Table",
"description": "Displays your experiments in a customizable table.\n[Show Table](command:dvc.showExperiments)",
"media": {
"markdown": "resources/walkthrough/source-control-management.md"
"markdown": "resources/walkthrough/experiments-table.md"
},
"completionEvents": [
"onCommand:workbench.view.scm"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:dvc.showExperiments"
]
},
{
"id": "dvc.tracked",
"title": "Tracked Resources",
"description": "Open the DVC tracked view.\n[Show Tracked](command:dvc.views.trackedExplorerTree.focus)",
"id": "dvc.runExperiments",
"title": "Running Experiments",
"description": "Explore a few ways you can run or queue a new experiment.\n[Run an Experiment](command:dvc.modifyExperimentParamsAndRun)",
"media": {
"markdown": "resources/walkthrough/tracked-explorer.md"
"markdown": "resources/walkthrough/run-experiments.md"
},
"completionEvents": [
"onCommand:dvc.views.trackedExplorerTree.focus"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:dvc.modifyExperimentParamsAndRun"
]
},
{
"id": "dvc.viewContainer",
"title": "DVC View Container",
"description": "Open the DVC view container.\n[Show Views](command:workbench.view.extension.dvc-views)",
"id": "dvc.plots",
"title": "Plots",
"description": "Visualize and compare multiple experiments with interactive customizable charts.\n[Show Plots](command:dvc.showPlots)",
"media": {
"markdown": "resources/walkthrough/view-container.md"
"markdown": "resources/walkthrough/plots.md"
},
"completionEvents": [
"onCommand:workbench.view.extension.dvc-views"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:dvc.showPlots"
]
},
{
"id": "dvc.experimentsTable",
"title": "Experiments Table",
"description": "Open the experiments table.\n[Show Table](command:dvc.showExperiments)",
"id": "dvc.livePlots",
"title": "Live Plot Updates",
"description": "Run experiments and track how metrics and plots change in the same plots dashboard.\n[Show Plots](command:dvc.showPlots)",
"media": {
"markdown": "resources/walkthrough/experiments-table.md"
"markdown": "resources/walkthrough/live-plots.md"
},
"completionEvents": [
"onCommand:dvc.showExperiments"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:dvc.showPlots"
]
},
{
"id": "dvc.plots",
"title": "Plots",
"description": "Open plots.\n[Show Plots](command:dvc.showPlots)",
"id": "dvc.tracked",
"title": "Data and Model Management",
"description": "Navigate and manage datasets, models, and any large files that are tracked by DVC.\n[Show Tracked](command:dvc.views.trackedExplorerTree.focus)",
"media": {
"markdown": "resources/walkthrough/plots.md"
"markdown": "resources/walkthrough/dvc-tracked-files.md"
},
"completionEvents": [
"onCommand:dvc.showPlots"
],
"when": "dvc.commands.available && dvc.project.available"
"onCommand:dvc.views.trackedExplorerTree.focus",
"onCommand:workbench.view.scm"
]
},
{
"id": "dvc.learnMore",
Expand All @@ -1461,6 +1458,17 @@
"completionEvents": [
"onLink:https://dvc.org/doc"
]
},
{
"id": "dvc.troubleshoot",
"title": "Troubleshoot & Support",
"description": "We are here to help! Ping us and provide the DVC output channel logs.\n[View Output](command:dvc.showOutput)",
"media": {
"markdown": "resources/walkthrough/troubleshoot.md"
},
"completionEvents": [
"onCommand:dvc.showOutput"
]
}
]
}
Expand Down
7 changes: 6 additions & 1 deletion extension/resources/walkthrough/command-palette.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,10 @@ Which can be accessed via `F1` or ⇧⌃P on Windows/Linux or ⇧⌘P on macOS.
To see a list of available commands click [here](command:dvc.showCommands) or
type DVC into the Command Palette.

For further information on `DVC` commands see the
<p align="center">
<img src="images/available-commands-command-palette.png"
alt="DVC Command Palette" />
</p>

For further information on specific `dvc` commands, see the
[command-reference docs](https://dvc.org/doc/command-reference).
4 changes: 2 additions & 2 deletions extension/resources/walkthrough/dvc-learn-more.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

- Browse the [user guide](https://dvc.org/doc/user-guide).

- View all [available commands](https://dvc.org/doc/command-reference).
- View all [available `dvc` commands](https://dvc.org/doc/command-reference).

- Check out the [DVC github repository](https://github.com/iterative/dvc) or an
- Check out the [DVC GitHub repository](https://github.com/iterative/dvc) or an
[example project](https://github.com/iterative/example-get-started).

- Explore our [free course](https://learn.iterative.ai/).
Expand Down
30 changes: 30 additions & 0 deletions extension/resources/walkthrough/dvc-tracked-files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Manage DVC-Tracked Files

> 💡 Read more about managing large files with Git and DVC
> [here](https://dvc.org/doc/start/data-management). DVC provides a few commands
> you can run along with `git` to version large files, directories, or ML model
> using external storages like S3, SSH, Google Cloud, etc.
In the [DVC Tracked View](command:dvc.views.trackedExplorerTree.focus) you can
see the files and directories that are managed by DVC (even if they are not yet
downloaded) in a view similar to the regular `Explorer` view

<p align="center">
<img src="images/dvc-tracked-explorer.png"
alt="DVC-Tracked Explorer Integration" />
</p>

You can `dvc pull` to download your data or `dvc push` to save it right from
this view.

In the [Source Control View](command:workbench.view.scm) the statuses shown are
designed to integrate with that of the built-in Git extension and give an "at a
glance" state of the entire workspace. The extension will show if DVC-tracked
datasets are changed and you need to _commit_ them.

<p align="center">
<img src="images/dvc-tracked-scm.png" alt="DVC-Tracked SCM Integration" />
</p>

From this view you can trigger data management commands like `dvc checkout`,
`dvc commit`, as well as `dvc pull` and `dvc push`.
33 changes: 28 additions & 5 deletions extension/resources/walkthrough/experiments-table.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,32 @@
# Experiments Table

The extension's equivalent of `dvc exp show`.
> ❗ DVC should be installed and DVC project available in the workspace for this
> and the next steps to work properly. Please refer to first two steps of this
> guide.
Use `DVC: Show Experiments` from the Command Palette to open up the experiments
table for a `DVC` repository.
As you change code, parameters, data and run new experiments this table will
keep all the details about your iterations. It can be manipulated and configured
using the [DVC side panel](command:workbench.view.extension.dvc-views). This is
the extension's equivalent of the `dvc exp show` command.

The view can be manipulated using the controls shown in the extension's view
container.
<p align="center">
<img src="images/experiments-table.png" alt="Experiment Table" />
</p>

Use `DVC: Show Experiments` from the
[Command Palette](command:workbench.action.quickOpen?%22>DVC:%20Show%20Experiments%22)
to open up the experiments table or access it, using the Columns view:

<p align="center">
<img src="images/experiments-table-from-side-bar.png"
alt="Columns View" />
</p>

The table provides context menus to access basic operation on experiments and
table headers. You can edit parameters, sort or filter, run new experiments and
more:

<p align="center">
<img src="images/experiments-table-context-menus.png"
alt="Experiments Table: Context Menus" />
</p>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 19 additions & 8 deletions extension/resources/walkthrough/install-dvc.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
# Install DVC

There are quite a few options for installing `DVC`. This extension supports
various installation types. See the `Setup The Workspace` step for more details.
There are a few [options](https://dvc.org/doc/install) for installing `DVC`.
This extension supports all installation types.

To install the latest version of `DVC` follow your platform specific guide on
[dvc.org](https://dvc.org/doc/install).
To verify the installation run `dvc -h` in a
[Terminal](command:workbench.action.terminal.new).

To verify the installation run `dvc -h` in your terminal of choice.
If DVC is installed as a global binary or in a Python virtual environment, the
extension would attempt to detect it automatically. If successful, you'll see a
DVC icon like this in the status bar:

**Note**: Use `Terminal: Create New Terminal` from the Command Palette to create
a new
[integrated terminal](https://code.visualstudio.com/docs/editor/integrated-terminal).
<p align="center">
<img src="images/install-dvc-status-bar-detected.png"
alt="DVC icon in the status bar" />
</p>

If you see instead the crossed circle icon, use the
[Setup Workspace](command:dvc.setupWorkspace) wizard to manually select the
right environment:

<p align="center">
<img src="images/install-dvc-setup-wizard.png" alt="DVC Setup Wizard" />
</p>
40 changes: 40 additions & 0 deletions extension/resources/walkthrough/live-plots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Monitor your Experiments

As you run your experiments you can use the same
[`Plots Dashboard`](command:dvc.showPlots) to watch for the metrics and plot
updates:

<p align="center">
<img src="images/live-plots-updates.gif"
alt="Live Metric Updates" />
</p>

This functionality comes baked in when you update your plots files in your
training code. For example like this, using the
[DVCLive](https://dvc.org/doc/dvclive) library that also
[supports](https://dvc.org/doc/dvclive/ml-frameworks) many popular ML frameworks
to automate this process:

```python
from dvclive import Live

live = Live("training_metrics")

for epoch in range(NUM_EPOCHS):
train_model(...)
metrics = evaluate_model(...)

for metric_name, value in metrics.items():
live.log(metric_name, value)

live.next_step()
```

`DVCLive` is _optional_, and you can just append or modify plot files using any
language and any tool.

💡 `Trends` section of the plots dashboard is being updated automatically based
on the data in the table. You don't even have to manage or write any special
plot files, but you need to enable
[checkpoints](https://dvc.org/doc/user-guide/experiment-management/checkpoints)
in the project.
14 changes: 0 additions & 14 deletions extension/resources/walkthrough/output-channel.md

This file was deleted.

Loading

0 comments on commit b1f5fa0

Please sign in to comment.