From 769eb8608558f2534786b1ea93575136042f18be Mon Sep 17 00:00:00 2001 From: TOsmanov <54434686+TOsmanov@users.noreply.github.com> Date: Wed, 28 Jul 2021 10:46:00 +0300 Subject: [PATCH 1/6] update server-less-tutorial.md --- .../manual/advanced/serverless-tutorial.md | 49 ++++++++++++++++++ .../en/images/docker_wsl_integration.jpg | Bin 0 -> 34838 bytes 2 files changed, 49 insertions(+) create mode 100644 site/content/en/images/docker_wsl_integration.jpg diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index c2c35c10393..82a2e4e603f 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -898,6 +898,55 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog +### Problem with running nuctl from windows 10 + +If you encounter the problem with running `nuctl` on Windows 10, you can do the following: + +1. Install [Ubuntu 18.04 from Microsoft store](https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q) + +1. Enable integration for Ubuntu-18.04 in the settings `Docker Desktop` in the `Resourcrces` `WSL integration` tab (it is understood that `Docker` and `WSL 2` are installed on windows) + + ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) + +1. Install `curl` on Ubuntu with use command: + ```sh + sudo apt install curl + ``` +1. Installation `nuctl` on Ubuntu, using the command from [manuals on nuclio CLI](https://github.com/nuclio/nuclio/blob/development/docs/reference/nuctl/nuctl.md): + ```sh + curl -s https://api.github.com/repos/nuclio/nuclio/releases/1.5.16 \ + | grep -i "browser_download_url.*nuctl.*$(uname)" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -O nuctl -qi - && chmod +x nuctl + ``` +1. Installation `git` on Ubuntu: + ```sh + sudo apt install git + ``` +1. Clone the repository and move to the repository folder: + ```sh + git clone https://github.com/openvinotoolkit/cvat.git + cd cvat + ``` + +1. After that, run the commands from this tutorial through Ubuntu. + +### Problem with the deployment of models + +If you did not automatically assign a port when you deployed the model (this may be due to firewall settings), try adding a port yourself before you deploy the model. Add the `port: 32001` attribute to the `function.yaml` file of each model. Different ports should be prescribed for different models. + +```diff +triggers: +myHttpTrigger: + maxWorkers: 1 + kind: 'http' + workerAvailabilityTimeoutMilliseconds: 10000 + attributes: ++ port: 32001 + maxRequestBodySize: 33554432 # 32MB +``` + [detectron2-github]: https://github.com/facebookresearch/detectron2 [detectron2-requirements]: https://detectron2.readthedocs.io/en/latest/tutorials/install.html [pytorch-install]: https://pytorch.org/get-started/locally/ diff --git a/site/content/en/images/docker_wsl_integration.jpg b/site/content/en/images/docker_wsl_integration.jpg new file mode 100644 index 0000000000000000000000000000000000000000..593bc2fffa810fe565d15cbc0cfdf67fb8e9f9b8 GIT binary patch literal 34838 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 Date: Wed, 28 Jul 2021 11:21:25 +0300 Subject: [PATCH 2/6] update links --- site/content/en/docs/manual/advanced/serverless-tutorial.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index 82a2e4e603f..9fd3d2d0d24 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -902,7 +902,7 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog If you encounter the problem with running `nuctl` on Windows 10, you can do the following: -1. Install [Ubuntu 18.04 from Microsoft store](https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q) +1. Install [Ubuntu 18.04 from Microsoft store][ubuntu-18-04-microsoft-store] 1. Enable integration for Ubuntu-18.04 in the settings `Docker Desktop` in the `Resourcrces` `WSL integration` tab (it is understood that `Docker` and `WSL 2` are installed on windows) @@ -912,7 +912,7 @@ If you encounter the problem with running `nuctl` on Windows 10, you can do the ```sh sudo apt install curl ``` -1. Installation `nuctl` on Ubuntu, using the command from [manuals on nuclio CLI](https://github.com/nuclio/nuclio/blob/development/docs/reference/nuctl/nuctl.md): +1. Installation `nuctl` on Ubuntu, using the command from [manuals on nuclio CLI][nuctl-manual]: ```sh curl -s https://api.github.com/repos/nuclio/nuclio/releases/1.5.16 \ | grep -i "browser_download_url.*nuctl.*$(uname)" \ @@ -971,3 +971,5 @@ myHttpTrigger: [vtest-avi]: https://github.com/opencv/opencv/blob/master/samples/data/vtest.avi?raw=true [intel-openvino-url]: https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit.html [cvat-auto-annotation-user-guide]: https://openvinotoolkit.github.io/cvat/docs/manual/advanced/automatic-annotation/ +[ubuntu-18-04-microsoft-store]: https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q +[nuctl-manual]: https://github.com/nuclio/nuclio/blob/development/docs/reference/nuctl/nuctl.md From 8f854c20feac2b2d18e8f8425843dfb4d68cdda7 Mon Sep 17 00:00:00 2001 From: TOsmanov <54434686+TOsmanov@users.noreply.github.com> Date: Wed, 28 Jul 2021 13:37:15 +0300 Subject: [PATCH 3/6] fix linter errors --- .../manual/advanced/serverless-tutorial.md | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index 9fd3d2d0d24..b06c0c9db3c 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -902,39 +902,43 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog If you encounter the problem with running `nuctl` on Windows 10, you can do the following: -1. Install [Ubuntu 18.04 from Microsoft store][ubuntu-18-04-microsoft-store] +1. Install [Ubuntu 18.04 from Microsoft store][ubuntu-18-04-microsoft-store]. -1. Enable integration for Ubuntu-18.04 in the settings `Docker Desktop` in the `Resourcrces` `WSL integration` tab (it is understood that `Docker` and `WSL 2` are installed on windows) +1. Enable integration for Ubuntu-18.04 in the settings `Docker Desktop` in the `Resourcrces` `WSL integration` tab + (it is understood that `Docker` and `WSL 2` are installed on windows): - ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) + ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) 1. Install `curl` on Ubuntu with use command: - ```sh - sudo apt install curl - ``` + ```sh + sudo apt install curl + ``` 1. Installation `nuctl` on Ubuntu, using the command from [manuals on nuclio CLI][nuctl-manual]: - ```sh - curl -s https://api.github.com/repos/nuclio/nuclio/releases/1.5.16 \ - | grep -i "browser_download_url.*nuctl.*$(uname)" \ - | cut -d : -f 2,3 \ - | tr -d \" \ - | wget -O nuctl -qi - && chmod +x nuctl - ``` + ```sh + curl -s https://api.github.com/repos/nuclio/nuclio/releases/1.5.16 \ + | grep -i "browser_download_url.*nuctl.*$(uname)" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -O nuctl -qi - && chmod +x nuctl + ``` 1. Installation `git` on Ubuntu: - ```sh - sudo apt install git - ``` + ```sh + sudo apt install git + ``` 1. Clone the repository and move to the repository folder: - ```sh - git clone https://github.com/openvinotoolkit/cvat.git - cd cvat - ``` + ```sh + git clone https://github.com/openvinotoolkit/cvat.git + cd cvat + ``` 1. After that, run the commands from this tutorial through Ubuntu. ### Problem with the deployment of models -If you did not automatically assign a port when you deployed the model (this may be due to firewall settings), try adding a port yourself before you deploy the model. Add the `port: 32001` attribute to the `function.yaml` file of each model. Different ports should be prescribed for different models. +If you did not automatically assign a port when you deployed the model (this may be due to firewall settings), +try adding a port yourself before you deploy the model. +Add the `port: 32001` attribute to the `function.yaml` file of each model. +Different ports should be prescribed for different models. ```diff triggers: From 6fcf243707c3d994fa94fc6a3915784801239ad8 Mon Sep 17 00:00:00 2001 From: TOsmanov <54434686+TOsmanov@users.noreply.github.com> Date: Wed, 28 Jul 2021 13:53:46 +0300 Subject: [PATCH 4/6] fix mistakes --- site/content/en/docs/manual/advanced/serverless-tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index b06c0c9db3c..fa8d4121aaf 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -898,7 +898,7 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog -### Problem with running nuctl from windows 10 +### Problem with running nuctl on Windows 10 If you encounter the problem with running `nuctl` on Windows 10, you can do the following: From 03873ef36867ccd68eb8ebd690ff823b033d3334 Mon Sep 17 00:00:00 2001 From: TOsmanov <54434686+TOsmanov@users.noreply.github.com> Date: Thu, 5 Aug 2021 10:11:48 +0300 Subject: [PATCH 5/6] update serverless_tutorial.md and installation_auto_annotation.md --- .../installation_automatic_annotation.md | 8 ++- .../manual/advanced/serverless-tutorial.md | 72 +++++++------------ 2 files changed, 33 insertions(+), 47 deletions(-) diff --git a/site/content/en/docs/administration/advanced/installation_automatic_annotation.md b/site/content/en/docs/administration/advanced/installation_automatic_annotation.md index d75e941a851..a04fa32687b 100644 --- a/site/content/en/docs/administration/advanced/installation_automatic_annotation.md +++ b/site/content/en/docs/administration/advanced/installation_automatic_annotation.md @@ -32,7 +32,13 @@ semi-automatic and automatic annotation' - You have to install `nuctl` command line tool to build and deploy serverless functions. Download [version 1.5.16](https://github.com/nuclio/nuclio/releases/tag/1.5.16). It is important that the version you download matches the version in - [docker-compose.serverless.yml](https://github.com/openvinotoolkit/cvat/blob/develop/components/serverless/docker-compose.serverless.yml) + [docker-compose.serverless.yml](https://github.com/openvinotoolkit/cvat/blob/develop/components/serverless/docker-compose.serverless.yml). + For example, using wget. + + ``` + wget https://github.com/nuclio/nuclio/releases/download//nuctl--linux-amd64 + ``` + After downloading the nuclio, give it a proper permission and do a softlink ``` diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index fa8d4121aaf..3b4abe3ae3f 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -898,47 +898,8 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog -### Problem with running nuctl on Windows 10 - -If you encounter the problem with running `nuctl` on Windows 10, you can do the following: - -1. Install [Ubuntu 18.04 from Microsoft store][ubuntu-18-04-microsoft-store]. - -1. Enable integration for Ubuntu-18.04 in the settings `Docker Desktop` in the `Resourcrces` `WSL integration` tab - (it is understood that `Docker` and `WSL 2` are installed on windows): - - ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) - -1. Install `curl` on Ubuntu with use command: - ```sh - sudo apt install curl - ``` -1. Installation `nuctl` on Ubuntu, using the command from [manuals on nuclio CLI][nuctl-manual]: - ```sh - curl -s https://api.github.com/repos/nuclio/nuclio/releases/1.5.16 \ - | grep -i "browser_download_url.*nuctl.*$(uname)" \ - | cut -d : -f 2,3 \ - | tr -d \" \ - | wget -O nuctl -qi - && chmod +x nuctl - ``` -1. Installation `git` on Ubuntu: - ```sh - sudo apt install git - ``` -1. Clone the repository and move to the repository folder: - ```sh - git clone https://github.com/openvinotoolkit/cvat.git - cd cvat - ``` - -1. After that, run the commands from this tutorial through Ubuntu. - -### Problem with the deployment of models - -If you did not automatically assign a port when you deployed the model (this may be due to firewall settings), -try adding a port yourself before you deploy the model. -Add the `port: 32001` attribute to the `function.yaml` file of each model. -Different ports should be prescribed for different models. +If before model deployment you see that the `NODE PORT` is 0, you need to assign it manually. +Add the `port: 32001` attribute to the `function.yaml` file of each model, before you deploy the model. Different ports should be prescribed for different models. ```diff triggers: @@ -951,6 +912,24 @@ myHttpTrigger: maxRequestBodySize: 33554432 # 32MB ``` +### Installation serverless functions on Windows 10 with using the Ubuntu subsystem + +If you encounter a problem running serverless functions on Windows 10, you can use the Ubuntu subsystem, for this do the following: + +1. Install `WSL 2` and `Docker Desktop` as described in [installation manual][cvat-installation-guide-windows-10] + +1. Install [Ubuntu 18.04 from Microsoft store][ubuntu-1804-microsoft-store]. + +1. Enable integration for Ubuntu-18.04 in the settings of `Docker Desktop` in the `Resources` `WSL integration` tab: + + ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) + +1. Then you can download and install `nuctl` on Ubuntu, using the [automatic annotation guide][cvat-auto-annotation-guide] + +1. Install `git` and clone repository on Ubuntu, as described in the [installation manual][cvat-installation-guide-ubuntu-1804] + +1. After that, run the commands from this tutorial through Ubuntu. + [detectron2-github]: https://github.com/facebookresearch/detectron2 [detectron2-requirements]: https://detectron2.readthedocs.io/en/latest/tutorials/install.html [pytorch-install]: https://pytorch.org/get-started/locally/ @@ -965,15 +944,16 @@ myHttpTrigger: [retinanet-main-py]: https://github.com/openvinotoolkit/cvat/blob/b2f616859ca64687c385e636b4a25014fbb9d17c/serverless/pytorch/facebookresearch/detectron2/retinanet/nuclio/main.py [nuclio-homepage]: https://nuclio.io/ [cvat-builtin-serverless]: https://github.com/openvinotoolkit/cvat/tree/develop/serverless -[cvat-auto-annotation-guide]: https://openvinotoolkit.github.io/cvat/docs/administration/advanced/installation_automatic_annotation +[cvat-auto-annotation-guide]: /docs/administration/advanced/installation_automatic_annotation +[cvat-installation-guide-windows-10]: /docs/administration/basics/installation/#windows-10 +[cvat-installation-guide-ubuntu-1804]: /docs/administration/basics/installation/#ubuntu-1804-x86_64amd64 [mscoco-format]: https://cocodataset.org/#format-data [pascal-voc-format]: http://host.robots.ox.ac.uk/pascal/VOC/voc2012/htmldoc/index.html [faas-wiki]: https://en.wikipedia.org/wiki/Function_as_a_service -[cvat-ai-tools-user-guide]: https://openvinotoolkit.github.io/cvat/docs/manual/advanced/ai-tools/ +[cvat-ai-tools-user-guide]: /docs/manual/advanced/ai-tools/ [cvat-github]: https://github.com/openvinotoolkit/cvat [siammask-serverless]: https://github.com/openvinotoolkit/cvat/tree/develop/serverless/pytorch/foolwood/siammask/nuclio [vtest-avi]: https://github.com/opencv/opencv/blob/master/samples/data/vtest.avi?raw=true [intel-openvino-url]: https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit.html -[cvat-auto-annotation-user-guide]: https://openvinotoolkit.github.io/cvat/docs/manual/advanced/automatic-annotation/ -[ubuntu-18-04-microsoft-store]: https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q -[nuctl-manual]: https://github.com/nuclio/nuclio/blob/development/docs/reference/nuctl/nuctl.md +[cvat-auto-annotation-user-guide]: /docs/manual/advanced/automatic-annotation/ +[ubuntu-1804-microsoft-store]: https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q From 19c379269dcae769387d01c4980f10d50f77e5aa Mon Sep 17 00:00:00 2001 From: TOsmanov <54434686+TOsmanov@users.noreply.github.com> Date: Thu, 5 Aug 2021 10:20:51 +0300 Subject: [PATCH 6/6] fix linter errors --- .../en/docs/manual/advanced/serverless-tutorial.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/site/content/en/docs/manual/advanced/serverless-tutorial.md b/site/content/en/docs/manual/advanced/serverless-tutorial.md index 3b4abe3ae3f..38ab683d2cb 100644 --- a/site/content/en/docs/manual/advanced/serverless-tutorial.md +++ b/site/content/en/docs/manual/advanced/serverless-tutorial.md @@ -899,7 +899,8 @@ $ docker logs nuclio-nuclio-pth.shiyinzhang.iog If before model deployment you see that the `NODE PORT` is 0, you need to assign it manually. -Add the `port: 32001` attribute to the `function.yaml` file of each model, before you deploy the model. Different ports should be prescribed for different models. +Add the `port: 32001` attribute to the `function.yaml` file of each model, before you deploy the model. +Different ports should be prescribed for different models. ```diff triggers: @@ -914,7 +915,8 @@ myHttpTrigger: ### Installation serverless functions on Windows 10 with using the Ubuntu subsystem -If you encounter a problem running serverless functions on Windows 10, you can use the Ubuntu subsystem, for this do the following: +If you encounter a problem running serverless functions on Windows 10, +you can use the Ubuntu subsystem, for this do the following: 1. Install `WSL 2` and `Docker Desktop` as described in [installation manual][cvat-installation-guide-windows-10] @@ -924,9 +926,11 @@ If you encounter a problem running serverless functions on Windows 10, you can ![Docker WSL integration Ubuntu 18.04](/images/docker_wsl_integration.jpg) -1. Then you can download and install `nuctl` on Ubuntu, using the [automatic annotation guide][cvat-auto-annotation-guide] +1. Then you can download and install `nuctl` on Ubuntu, + using the [automatic annotation guide][cvat-auto-annotation-guide]. -1. Install `git` and clone repository on Ubuntu, as described in the [installation manual][cvat-installation-guide-ubuntu-1804] +1. Install `git` and clone repository on Ubuntu, + as described in the [installation manual][cvat-installation-guide-ubuntu-1804]. 1. After that, run the commands from this tutorial through Ubuntu.