Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review and update the walkthrough #1876

Merged
merged 3 commits into from
Jun 14, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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",
Comment on lines +1344 to +1345
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"title": "Get Started",
"description": "Your first steps to build better models faster with experiment tracking and dataset versioning",
"title": "Walkthrough",
"description": "Setup the extension and tour its main features. Take 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)",
shcheklein marked this conversation as resolved.
Show resolved Hide resolved
"media": {
"markdown": "resources/walkthrough/command-palette.md"
},
"completionEvents": [
"onCommand:dvc.showCommands"
],
"when": "dvc.commands.available && dvc.project.available"
shcheklein marked this conversation as resolved.
Show resolved Hide resolved
]
},
{
"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)",
Comment on lines +1386 to +1387
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"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)",
"title": "DVC View (Activity Bar)",
"description": "Quickly access and select your experiments and plots from a dedicated DVC screen\n\n[Open DVC View](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
shcheklein marked this conversation as resolved.
Show resolved Hide resolved
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).

Comment on lines 6 to 10
Copy link
Contributor

@jorgeorpinel jorgeorpinel Jun 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file just re-lists the side bar of dvc.org/doc. We can just link there instead and remove this, I think.

- 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.
shcheklein marked this conversation as resolved.
Show resolved Hide resolved

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)
shcheklein marked this conversation as resolved.
Show resolved Hide resolved
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
shcheklein marked this conversation as resolved.
Show resolved Hide resolved
[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