Install the DL Workbench from Docker Hub*

These instructions help you install dependencies and run the DL Workbench through a Docker image on Linux*, Windows*, and macOS*.

Before you begin:

If you experience errors while using the DL Workbench, make sure your system meets all prerequisites, and then see Troubleshooting.

Use the instructions that apply to your operating system:

Parameters

DL Workbench Starting Script Arguments

You can use these arguments to customize your command to run the DL Workbench.

For a list of available arguments:

./start_workbench.sh --help
Argument Explanation Default Value
--help Displays help message and exits the script. N/A
-IMAGE_NAME Specifies the DL Workbench Docker image name. Use openvino/workbench to get the highest version. openvino/workbench
-TAG Specifies the DL Workbench Docker image tag name. Use it if you need a lower version of the DL Workbench. latest
-IP Specifies the IP on which to set up the DL Workbench. 0.0.0.0
-PORT Maps the Docker container port 5665 to the provided host port to get access to the DL Workbench from a web browser. 5665
-DETACHED Boolean. Enables the detached mode of the Docker container. false
-CONTAINER_NAME Specifies the container name to use. workbench
-RESTART Restarts previously stopped DL Workbench container. N/A
-STOP Stops DL Workbench container. N/A
-ENABLE_GPU Boolean. Adds a host device to the container. Enables the container to use GPU devices in the DL Workbench. false
-ENABLE_MYRIAD Boolean. Mounts directory /dev/bus/usb to the Docker container and adds the rule with allowed devices list to the cgroup. Enables the container to use Intel® Neural Compute Stick 2 devices in the DL Workbench. Cannot be used when running with Vision Accelerator Design with Intel® Movidius™ VPUs. false
-ENABLE_HDDL Boolean. Adds a host device to the container and mounts directory /var/tmp to the Docker container. Enables the container to use Vision Accelerator Design with Intel® Movidius™ VPUs in the DL Workbench. Cannot be used when running with Intel® Neural Compute Stick 2. false
-HTTP_PROXY Specifies the HTTP proxy in the format http://<user>:<password>@<proxy-host>:<proxy-port>. N/A
-HTTPS_PROXY Specifies the HTTPS proxy in the format https://<user>:<password>@<proxy-host>:<proxy-port>. N/A
-NO_PROXY Specifies the URLs that should be excluded from proxying in the format url1,url2,url3. N/A
-ASSETS_DIR Mounts a provided local folder to the /home/workbench/.workbench directory in the Docker container. N/A
-SSL_CERT Specifies the path to the DL Workbench web app TLS certificate in the DL Workbench configuration directory. N/A
-SSL_KEY Specifies the path to the SSL_CERT certificate private key in the DL Workbench configuration directory. N/A
-SSL_VERIFY Indicates whether the SSL_CERT TLS certificate is trusted (on), or either self-signed or untrusted (off). on

IMPORTANT: Before using the ASSETS_DIR argument:

  1. Make sure the directory you pass as a value of ASSETS_DIR has read, write, and execute permissions set for all users. See Troubleshooting for details.
  2. Create a group called workbench and add the current user <USERNAME> to it. Use the commands below:
    sudo groupadd -g 5665 workbench
sudo usermod -a -G 5665 <USERNAME>

NOTES:

  • -ENABLE_MYRIAD and -ENABLE_HDDL cannot be set simultaneously because Intel® Neural Compute Stick 2 and Intel® Vision Accelerator Design with Intel® Movidius™ VPUs are incompatible and cannot be used in the DL Workbench together.
  • For more information about SSL_CERT, SSL_KEY, and SSL_VERIFY, see configuring TLS in Docker container.
  • For more information about RESTART and STOP, see Docker Container.

docker run Command-Line Arguments

The command blocks above run Docker containers named workbench with the following arguments:

Argument Explanation
-p 127.0.0.1:5665:5665 Maps Docker container port 5665 to host port 5665 to get access to the DL Workbench from a web browser.
--device /dev/dri Add a host device to the container. Enables the container to use GPU devices in the DL Workbench.
-v /dev/bus/usb:/dev/bus/usb Mounts directory /dev/bus/usb to the Docker container. Enables the container to use Intel® Neural Compute Stick 2 devices in the DL Workbench. Cannot be used when running with Vision Accelerator Design with Intel® Movidius™ VPUs.
--device-cgroup-rule='c 189:* rmw' Adds the rule with allowed devices list to the cgroup. Enables the container to use Intel® Neural Compute Stick 2 devices in the DL Workbench. Cannot be used when running with Vision Accelerator Design with Intel® Movidius™ VPUs.
--device /dev/ion:/dev/ion Add a host device to the container. Enables the container to use Vision Accelerator Design with Intel® Movidius™ VPUs in the DL Workbench. Cannot be used when running with Intel® Neural Compute Stick 2.
-v /var/tmp:/var/tmp Mounts directory /var/tmp to the Docker container. Enables the container to use Vision Accelerator Design with Intel® Movidius™ VPUs devices in the DL Workbench. Cannot be used when running with Intel® Neural Compute Stick 2.
-it Enables the interactive mode of the Docker container. Set to the Docker image name workbench.
-d Enables the detached mode of the Docker container. Set to the Docker image name workbench.
--volume ~/.workbench:/home/workbench/.workbench Mounts a local folder named ~/.workbench to the /home/workbench/.workbench directory in the Docker* container
-e https_proxy=<https-proxy>

-e http_proxy=<http-proxy>

-e no_proxy=<no-proxy>
Optional. If you are behind a corporate proxy, set environment variables.

Proxy

If you are behind a firewall, set up proxy information by following instructions for your operating system:

Set Up Proxy on Linux

Set proxy on Linux by following the steps below.

  1. Create a directory with a configurations file:
    mkdir -p /etc/systemd/system/docker.service.d
    touch /etc/systemd/system/docker.service.d/http_proxy.conf
  2. Write the data about proxy and DNS settings on your machine to the http_proxy.conf file. The contents of the file should look like this:

    NOTE: Replace the placeholders in the angle brackets with your proxy values.

    [Service]
    Environment="HTTP_PROXY=<http-proxy>" "HTTPS_PROXY=<https-proxy>" "NO_PROXY=<no-proxy>"
  3. Let the system reread configuration and restart the Docker* container:
    systemctl daemon-reload
    systemctl restart docker

For details on customizing Docker settings, see Control Docker with systemd or contact your system administrator.

Then run the Docker container with additional proxy parameters:

NOTE: Replace <no-proxy>, <http-proxy>, and <https-proxy> with your proxy values.

./start_workbench.sh -IMAGE_NAME openvino/workbench -HTTP_PROXY <http-proxy> -HTTPS_PROXY <https-proxy> -NO_PROXY <no-proxy>

For details on other parameters used in the command, see Parameters.

Set Up Proxy on Windows

Set proxy in the Docker Desktop settings and in Windows PowerShell*.

To set proxy in the settings, right click on Docker Desktop in the taskbar items, select Configure proxy, and follow the scheme below:

Settings >> Proxies >> Select Manual proxy configuration >> Add your http-proxy to both Web Server and Secure Web Server >> Apply settings

Settings >> Proxies >> Add your no-proxy to Bypass for these hosts ... >> Apply settings

Now set proxy in Windows PowerShell by passing the following arguments:

$http_proxy="<your_http_proxy>"
$https_proxy="<your_https_proxy>"

NOTE: Double quotes are required for these arguments.

Then run the Docker container with additional proxy parameters:

NOTE: Replace <no-proxy>, <http-proxy>, and <https-proxy> with your proxy values.

docker run -p 127.0.0.1:5665:5665 `
--name workbench `
-e no_proxy=<no-proxy> `
-e http_proxy=<http-proxy> `
-e https_proxy=<https-proxy> `
-it openvino/workbench:latest

For details on other parameters used in the command, see Parameters.

Set Up Proxy on macOS

To set proxy on Linux, follow the instructions from Configure Docker to use a proxy server, and run the Docker container with additional proxy parameters:

NOTE: Replace <no-proxy>, <http-proxy>, and <https-proxy> with your proxy values.

docker run -p 127.0.0.1:5665:5665 \
--name workbench \
-e no_proxy=<no-proxy> \
-e http_proxy=<http-proxy> \
-e https_proxy=<https-proxy> \
-it openvino/workbench:latest

For details on other parameters used in the command, see Parameters.


See Also