DeepView provides an integrated experience which allows ML practioners to
- Visually identify model bottlenecks
- Perform rapid iterative profiling
- Understand energy consumption and environmental impacts of training jobs
- Predict deployment time and cost to cloud hardware
Installation consists of two parts: the front-end UI (this repository) and DeepView.Profile (the backend), which needs to be installed separately.
To install, either:
- Install it from Visual Studio Marketplace
- Install directly from VSCode by searching for DeepView
Adding cloud instances to the Deployment Tab: You can include information about the instances that you use through the extension settings. There you will find an option named providers that accepts a list of urls separated by commas. Each url must be a JSON file that follows the schema specified here: schema.
Additionally, you need to add the necessary access so the extension can read the file.
You can use an AWS S3 bucket to store your files. Note that you need to update the CORS settings in Permissions tab to enable the extension to read your file.
CORS requirements:
[
{
"AllowedHeaders": [],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"http://*",
"https://*",
"vscode-webview://*"
],
"ExposeHeaders": []
}
]
This is our file that you can use as an example.
This plugin requires DeepView.Profile (the installation instruction for which can be found here) You need to launch DeepView.Profile
before running this extension.
- Run DeepView.Profile
- Open one of the examples DNN project examples, i.e. Resnet from DeepView.Profile in VSCode
- (Optional) You can add other external cloud instances using the providers option in the extension
- Press
Ctrl+Shift+P
, then selectDeepView
from the dropdown list. - Click on
Begin Analysis
.
If you do not want to send usage data to CentML, you can set isTelemetryEnabled setting to "No".
You can set the value by going to File > Preferences > Settings (On macOS: Code > Preferences > Settings), and search for telemetry. Then set the value in DeepView > Is Telemetry Enabled. This will disable all telemetry events.
As well, DeepView respects VSCode's telemetry levels. IF telemetry.telemetryLevel is set to off, then no telemetry events will be sent to CentML, even if deepview.telemetry.enabled is set to true. If telemetry.telemetryLevel is set to error or crash, only events containing an error or errors property will be sent to CentML.
-
https://github.com/CentML/DeepView.Profile
- Note: depending on you choose to install the backend you might need to set the backend path.
-
Node.js and npm
-
Protobuf
apt install protobuf-compiler
- Clone this repository:
git clone https://github.com/CentML/DeepView.Explore
- Install project dependencies
cd deepview-explore/react-ui && npm install cd ../.. cd deepview-explore/deepview-explore && npm install
- Compile protobuf files:
cd src/protobuf make
Start VSCode in the plugin source directory:
cd deepview-explore/deepview-explore;
code .
Press F5
to compile and run the extension. When the extension window appears, open of the example projects. Then press Ctrl-Shift-P
then select Begin Analysis
.
To debug the React UI without extension code use npm start
- Make sure you're on main branch and it is clean
- Run scripts/prepare-release.sh which will:
- Increment the version
- Create a release branch
- Create a release PR
- After the PR is merged, the build-vsix.yaml GitHub action will:
- Build the VSIX file
- GitHub release
- Upload the VSIX file to S3
See Releases.
See DeepView.Profile.
- Guidelines on how to contribute to the project