公司购买了机器学习工作站并让我负责运行和维护它。
目标:开发我们自己的 ML 应用程序,并允许我们的全球办事处连接到工作站来训练/运行他们自己的模型。我还将为其他全球团队设置标准训练框架,以开始训练分类和对象检测模型。
开发语言:Python
工作站规格:
- Ubuntu 18.04
- GPU 驱动程序和常见的 ML 库均已预安装
- 英特尔酷睿 i9-9920X、4 个 RTX 2080 Ti
- 128 GB RAM、2 TB NVMe + 2 TB SATA SSD
目前的计划是为所有用户设置不同的用户帐户,然后他们可以通过 ssh 进入自己的帐户。但是,我不确定这是否可行。当用户想要不同的库版本等时会发生什么?
docker 容器是可行的方法吗?这样每个人都可以拥有自己的独立环境,可以随意设置。我最近也了解了 python 虚拟环境,这听起来是目前最简单的解决方案。
我在这方面没有太多经验,而且我才刚刚起步。请分享您的经验/建议,如果您需要更多详细信息,请告诉我,谢谢!
答案1
Python 虚拟环境正是为您的用例而设计的。这样,您将拥有每个项目的 Python 包依赖项,从而避免全局安装和版本不匹配。
每个用户都有自己的系统账户并可以访问一个或多个虚拟环境。
每个项目应该考虑一个虚拟环境。
另外,您还可以使用pyenv使您能够使用/切换多个 Python 版本。
另外这里唯一的缺点是您需要额外的磁盘空间。
答案2
虽然 docker 是一种可能性,但是它的配置开销可能太高。
然而,conda 环境可能是一个解决方案。这些允许不同的(python)库在彼此相邻的隔离环境中共存。最简单的方法是在系统范围内安装 Miniconda,让每个人都可以根据自己的意愿创建自己的 conda 环境。