
La empresa compró una estación de trabajo de aprendizaje automático y me puso a cargo de su ejecución y mantenimiento.
Objetivo: Desarrollar nuestras propias aplicaciones de ML y también permitir que nuestras oficinas globales se conecten a la estación de trabajo para entrenar/ejecutar sus propios modelos. También configuraría marcos de capacitación estándar para que otros equipos globales comiencen a entrenar modelos de clasificación y detección de objetos.
Lenguaje de desarrollo: Python
Especificaciones de la estación de trabajo:
- ubuntu 18.04
- Los controladores de GPU y las bibliotecas de ML comunes vienen preinstalados
- Intel Core i9-9920X, 4x RTX 2080 Ti
- 128 GB de RAM, NVMe de 2 TB + SSD SATA de 2 TB
El plan actual es configurar diferentes cuentas de usuario para todos los usuarios y ellos accederían a sus propias cuentas. Sin embargo, no estoy seguro de que esto vaya a funcionar. ¿Qué sucede cuando los usuarios quieren diferentes versiones de la biblioteca, etc.?
¿Son los contenedores Docker el camino a seguir? De esta manera, todos pueden tener su propio entorno aislado que pueden configurar como quieran. Recientemente también aprendí sobre los entornos virtuales de Python, y ahora parece la solución más simple.
No tengo mucha experiencia en esta área y recién estoy comenzando. Comparta su experiencia/sugerencias y avíseme si necesita detalles adicionales, ¡gracias!
Respuesta1
Los entornos virtuales de Python están diseñados exactamente para sus casos de uso. De esa manera, tendrá dependencias de paquetes de Python para cada proyecto, de modo que evitará instalaciones globales y discrepancias de versiones.
Cada usuario tendrá su propia cuenta de sistema y podrá acceder a uno o más entornos virtuales.
Se debe considerar un entorno virtual por proyecto.
Además puedes usarpienvpara permitirle trabajar/cambiar con múltiples versiones de Python.
Además, la única desventaja aquí es que necesitarás espacio adicional en el disco.
Respuesta2
Si bien Docker es una posibilidad, podría suponer demasiada sobrecarga de configuración.
Sin embargo,entornos condaposiblemente pueda ser una solución. Estos permiten que diferentes bibliotecas (python) coexistan en entornos aislados, uno al lado del otro. Lo más fácil es instalar Miniconda en todo el sistema y dejar que todos creen sus propios entornos conda como deseen.