ai-computer-vision
2023.4
false
  • Notas relacionadas
    • 2023.4.10.2
    • 2023.4.10.1
    • 2023.4.0
  • Información general
  • Instalación y configuración
    • Requisitos de software
    • Requisitos de hardware
    • Implementar el servidor
    • Conectarse al servidor
  • Almacenamiento de datos
Guía del usuario de AI Computer Vision
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 27 de jun. de 2024

Implementar el servidor

Si quieres implementar tu propio servidor Computer Vision con Docker en Microsoft Windows o Ubuntu o con Podman en Red Hat Enterprise Linux y utilizarlo con actividades de Computer Vision, sigue los siguientes pasos.

Microsoft Windows

Antes de implementar el servidor, asegúrate de comprobar los requisitos de software y hardware.

Instalación de WSL

Primero, debe instalar WSL en su máquina.

Para instalar WSL, ejecuta el siguiente comando, donde {distribution} es la distribución de Linux que deseas utilizar:
wsl --install -d {distribution}wsl --install -d {distribution}
Nota: el sistema operativo recomendado para este proceso de instalación es Ubuntu.

Instalar controladores Nvidia

Para ejecutar Computer Vision Server en una máquina Windows, debes descargar e instalar el controlador de pantalla Nvidia Windows 11 en el sistema con una tarjeta GeForce o Nvidia RTX/Quadro compatible desde el sitio web oficial de Nvidia.

Importante: cualquier tipo de controlador de pantalla de Linux instalado en WSL puede provocar errores.

Instalación de Podman y Nvidia Container Toolkit

Puedes instalar tanto Podman como Nvidia Container Toolkit ejecutando el siguiente script:

https://github.com/UiPath/Infrastructure/blob/main/ML/ml_prereq_all.shhttps://github.com/UiPath/Infrastructure/blob/main/ML/ml_prereq_all.sh

Ejecutar el servidor

Para ejecutar Computer Vision Server, debe ejecutar los siguientes comandos en la terminal de WSL Linux:

podman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/ \--security-opt=label=disable --device=nvidia.com/gpu=all controls_detection eula=acceptpodman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/ \--security-opt=label=disable --device=nvidia.com/gpu=all controls_detection eula=accept

Poner el servidor a disposición de la red

Para que el servidor sea visible en la red local, debe crearse una regla de firewall en Windows, con una regla de entrada para el puerto en el que está disponible el servidor de Computer Vision. De forma predeterminada, el puerto es 8501.

Como la instancia de Linux que se ejecuta en WSL tiene su propio controlador de interfaz de red virtual, el tráfico a la IP del host no se redirige directamente a la IP de la instancia de Linux. Este problema se puede evitar reenviando el tráfico de la IP del host a la instancia de Linux con el siguiente comando:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8501 connectaddress=$wsl_ip connectport=8501netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8501 connectaddress=$wsl_ip connectport=8501

La IP de WSL se puede encontrar con el siguiente comando:

wsl -d {distribution} hostname -Iwsl -d {distribution} hostname -I
Nota: este problema no aparece cuando se usa Docker Desktop en Windows.

Iniciar automáticamente el servidor

Al usar el motor de Docker instalado directamente en Linux, para iniciar automáticamente el servidor cuando se inicia la máquina, se debe crear una tarea programada en Windows. Esta tarea se ejecuta al inicio del sistema y ejecuta el siguiente script de PowerShell, donde {distribution} es la distribución de Linux instalada:
wsl -d {distribution} echo "starting...";
$wsl_ips = (wsl -d {distribution} hostname -I);
$host_ip = $wsl_ips.Split(" ")[0];
netsh interface portproxy add v4tov4 listenport=8501 listenaddress=0.0.0.0 connectport=8501 connectaddress=$host_ip;
wsl -d {distribution} -u root service docker start;
wsl -d {distribution} -u root docker run -p 8501:5000 --gpus all controls_detection eula=accept;wsl -d {distribution} echo "starting...";
$wsl_ips = (wsl -d {distribution} hostname -I);
$host_ip = $wsl_ips.Split(" ")[0];
netsh interface portproxy add v4tov4 listenport=8501 listenaddress=0.0.0.0 connectport=8501 connectaddress=$host_ip;
wsl -d {distribution} -u root service docker start;
wsl -d {distribution} -u root docker run -p 8501:5000 --gpus all controls_detection eula=accept;

Limitaciones de instalación

Este proceso de instalación requiere una máquina que admita la virtualización anidada. Actualmente, la mayoría de las máquinas virtuales en la nube no admiten la virtualización anidada para máquinas con GPU. En resumen, este proceso de instalación es el más adecuado para clientes que tienen servidores Windows físicos con GPU.

Linux RHEL/Ubuntu

Antes de implementar el servidor, asegúrate de comprobar los requisitos de software y hardware.

Todos los comandos enumerados en esta página deben ejecutarse en un terminal en la máquina GPU.

Descargar la exportación de imágenes del servidor Computer Vision

Guarda el enlace que te ha proporcionado tu comercial en la sesión actual del terminal:

export CV_URL="LINK_FROM_SALES_REP"export CV_URL="LINK_FROM_SALES_REP"

Descargue la exportación:

wget "$CV_URL" -O controls_detection.tarwget "$CV_URL" -O controls_detection.tar

Cargando la imagen a Podman

Ejecuta el siguiente comando:

podman load -i controls_detection.tarpodman load -i controls_detection.tar

Iniciar el servidor

Ejecuta el siguiente comando:

podman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/ \--security-opt=label=disable --device=nvidia.com/gpu=all controls_detection eula=acceptpodman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/ \--security-opt=label=disable --device=nvidia.com/gpu=all controls_detection eula=accept

Actualizar el modelo Computer Vision

Actualizar el modelo es equivalente a instalar una nueva versión del mismo. Esto se debe a que actualizar implica cambiar el modelo y también sus binarios, lo que inevitablemente provoca que el servidor deje de funcionar.

Si quieres realizar la actualización en la misma máquina servidor, es de esperar que se produzca un tiempo de inactividad. Para evitar este escenario, puedes instalar la nueva versión en otro servidor y, una vez finalizada la instalación, cambiar el tráfico a este.

Un escenario de actualización estándar tiene este aspecto:

  1. Prepararse y anunciar el tiempo de inactividad (si corresponde).
  2. Instala el nuevo modelo en lugar del antiguo.
  3. Ejecuta el servidor.

Si su entorno utiliza una configuración de equilibrador de carga multinodo, puede evitar el tiempo de inactividad por completo reinstalando cada nodo, de uno en uno.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.