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
-STOP Stops and removes 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:
    1. sudo groupadd -g 5665 workbench
    2. 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.
  4. Run the Docker container with additional proxy parameters:
    ./start_workbench.sh -IMAGE_NAME openvino/workbench -HTTP_PROXY <http-proxy> -HTTPS_PROXY <https-proxy> -NO_PROXY <no-proxy>

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

    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,follow the steps below:

  1. Right-click on Docker Desktop in the taskbar items, select Configure proxy.
  2. Go to Settings >> Proxies >> Select Manual proxy configuration. Add your http-proxy to both Web Server and Secure Web Server.
  3. Press Apply settings.
  4. Go to Settings >> Proxies. Add your no-proxy to Bypass for these hosts ....
  5. Press Apply settings.
  1. Set proxy in Windows PowerShell by passing arguments as shown below. Double quotes are required.
    • $http_proxy="<your_http_proxy>"
    • $https_proxy="<your_https_proxy>"
  2. Run the Docker container with additional proxy parameters:
    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

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

    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