5个简单的步骤来掌握数据科学的Docker

Docker使数据科学工作流更加一致和便携。本指南将其分解为五个简单实用的步骤。

来源:KDnuggets
作者的图像

数据科学项目因其复杂的依赖性,版本冲突和“在我的机器上起作用”问题而臭名昭著。有一天,您的模型在本地设置上完美运行,第二天,同事无法重现您的结果,因为它们具有不同的Python版本,缺少库或不兼容的系统配置。

这是Docker进来的地方。Docker通过将您的整个应用程序(代码,依赖项,系统库和运行时)包装包装到数据科学中的可重复性危机中,以跨环境始终运行的轻便,便携式容器。

docker

#为什么要专注于数据科学的Docker?

数据科学工作流程具有独特的挑战,使容器化特别有价值。与传统的Web应用程序不同,数据科学项目涉及大量数据集,复杂的依赖链以及经常变化的实验工作流程。

依赖性地狱:数据科学项目通常需要特定版本的Python,R,Tensorflow,Pytorch,Cuda驱动程序以及其他数十个库。单个版本不匹配会破坏您的整个管道。传统的虚拟环境有帮助,但它们没有捕获诸如CUDA驱动程序或编译库等系统级依赖关系。

依赖性地狱 python r TensorFlow pytorch cuda

可重复性:实际上,其他人应该能够在几周或几个月后重现您的分析。因此,Docker消除了“我的机器上的工作”问题。

可重复性

部署:当您的开发环境与您的部署环境相匹配时,从Jupyter笔记本电脑转变为生产变得非常流畅。由于图书馆版本差异,精心调整的模型在生产中失败时,就不会再出现了。

部署

实验:是否想尝试其他版本的Scikit-Learn或测试新的深度学习框架?容器可让您安全地进行实验,而不会破坏主要环境。您可以并排运行多个版本并比较结果。

// pandas