- Notas relacionadas
- Información general
- Instalación y configuración
- Requisitos de software
- Requisitos de hardware
- Implementar el servidor
- Conectarse al servidor
- Almacenamiento de datos
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.
Primero, debe instalar WSL en su máquina.
{distribution}
es la distribución de Linux que deseas utilizar:
wsl --install -d {distribution}
wsl --install -d {distribution}
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.
Puedes instalar Docker y Nvidia Container Toolkit ejecutando el siguiente script:
https://github.com/UiPath/Infrastructure/blob/main/ML/ml_prereq_wsl.sh
https://github.com/UiPath/Infrastructure/blob/main/ML/ml_prereq_wsl.sh
Para ejecutar Computer Vision Server, debe ejecutar los siguientes comandos en la terminal de WSL Linux:
export CV_URL="LINK_FROM_SALES_REP"
wget "$CV_URL" -O controls_detection.tar
docker load -i controls_detection.tar
docker run -p 8501:5000 --gpus all controls_detection eula=accept
export CV_URL="LINK_FROM_SALES_REP"
wget "$CV_URL" -O controls_detection.tar
docker load -i controls_detection.tar
docker run -p 8501:5000 --gpus all controls_detection eula=accept
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=8501
netsh 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 -I
wsl -d {distribution} hostname -I
{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;
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.
Todos los comandos enumerados en esta página deben ejecutarse en un terminal en la máquina GPU.
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.tar
wget "$CV_URL" -O controls_detection.tar
Ejecuta el siguiente comando:
docker load -i controls_detection.tar
docker load -i controls_detection.tar
Ejecuta el siguiente comando:
docker run \
-p 8501:5000 \
--gpus all \
controls_detection eula=accept
docker run \
-p 8501:5000 \
--gpus all \
controls_detection eula=accept
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:
- Prepararse y anunciar el tiempo de inactividad (si corresponde).
- Instala el nuevo modelo en lugar del antiguo.
- 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.
Todos los comandos enumerados en esta página deben ejecutarse en un terminal en la máquina GPU.
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.tar
wget "$CV_URL" -O controls_detection.tar
Ejecuta el siguiente comando:
podman load -i controls_detection.tar
podman load -i controls_detection.tar
Ejecuta el siguiente comando:
podman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/
\--security-opt=label=disable controls_detection eula=accept
podman run -p 8501:5000 --hooks-dir=/usr/share/containers/oci/hooks.d/
\--security-opt=label=disable controls_detection eula=accept
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:
- Prepararse y anunciar el tiempo de inactividad (si corresponde).
- Instala el nuevo modelo en lugar del antiguo.
- 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.
- Microsoft Windows
- Instalación de WSL
- Instalar controladores Nvidia
- Instalación de Docker y el kit de herramientas de Nvidia Container
- Ejecutar el servidor
- Poner el servidor a disposición de la red
- Iniciar automáticamente el servidor
- Limitaciones de instalación
- Ubuntu
- Descargar la exportación de imágenes del servidor Computer Vision
- Cargando la imagen en Docker
- Iniciar el servidor
- Actualizar el modelo Computer Vision
- RHEL de Linux
- Descargar la exportación de imágenes del servidor Computer Vision
- Cargando la imagen a Podman
- Iniciar el servidor
- Actualizar el modelo Computer Vision