谢谢回答这么专业的问题 。docker自2013年来一直火热 。无论是从 github 上的代码活跃度 。还是
Redhat
在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行 。这只是一款提供开源的应用容器引擎的软件 。如果想熟练运用 。需要专业学习 。但想成为科学家没有捷径 。只有更努力学习 。一分天才需九分努力 。
其他观点:
使用 Docker 容器来开发机器学习模型的好处有很多 。近日 。GitHub 的资深机器学习科学家 Hamel Husain 在 Towards Data Science 上发表了一篇入门级的 Docker 容器教程 。文章从基本的概念谈起 。清楚明白地介绍了 Docker 容器的一些基本的操作方式和注意事项 。机器之心对本文进行了编译介绍 。本文所涉及的所有相关代码请访问:https://github.com/hamelsmu/Docker_Tutorial
过去五年来 。Docker 容器已然成了一个热门词汇 。似乎我的所有软件工程师朋友都在使用它们来开发应用 。我想搞清楚这种技术可以如何让我更有效率 。但我发现我在网上找到的教程要么过于注重细节(解释了一些我作为数据科学家绝不会使用的功能) 。要么就过于浅显(没有足够的信息帮助我理解如何快速有效地使用 Docker) 。
所以我写了这篇快速入门 。这样你不必自己去网上筛选信息就能学习到快速上手 Docker 所需要的一切 。
Docker 是什么?
你可以把 Docker 看作是轻量级的虚拟机——包含你运行应用所需要的一切 。Docker 容器可以获取你的系统的状态的快照 。这样其他人就可以使用这个快照快速重建你的计算环境 。对于本教程而言 。这就是你需要了解的一切 。更多详细介绍可参阅:https://goo.gl/YzUwbc
为什么要使用 Docker?
1.重现性:作为专业的数据科学家 。让你的结果能够重现是非常重要的 。重现性不仅有助于同行评议 。而且可以确保你创建的模型、应用或分析可以无障碍地运行 。这能让你交付的成果更稳健 。更能经受时间的考验 。举个例子 。假如你用 Python 创建了一个模型 。只是运行 pip freeze 并将结果得到的 requirements.txt 文件发送给你的同事是不够的 。因为其中只包含特定于 Python 的依赖条件——而实际上的依赖条件不只有 Python 。还有操作系统、编译器、驱动程序、配置文件以及你的代码成功运行所需的其它数据 。就算你只分享 Python 依赖条件也能成功 。将所有东西都封装到一个 Docker 容器中还是能减轻其他人重建你的环境的负担 。并让他们能更轻松地访问你的成果 。
2.计算环境的可移植性:作为一位数据科学家 。尤其是机器学习领域内的数据科学家 。快速改变你的计算环境的能力能够极大地影响你的生产力 。数据科学的开始工作常常是原型设计、探索和研究——这些工作并不一定立即就需要特定的计算资源 。这个工作往往是在笔记本电脑或个人计算机上完成的 。但是在后面某个时候 。你往往会需要不同的计算资源来显著加速你的工作流程——比如使用更多 CPU 或强大的 GPU 来执行深度学习等任务 。我看到很多数据科学家由于感受到了在远程机器上重建他们的本地环境的困难 。就将自己局限在了本地计算环境内 。而 Docker 能让你的环境(你的所有库和文件等等)的移植非常简单 。在 Kaggle 竞赛中 。快速移植计算环境也是一个巨大的竞争优势 。因为你可以成本高效地利用 AWS 的宝贵计算资源 。最后 。创建 Docker 文件让你能移植很多你喜欢的本地环境配置——比如 bash 别名或 vim 插件 。
3.强化你的工程能力:熟练使用 Docker 让你能将模型或分析部署成应用(比如用作提供预测的 REST API) 。从而让其他人也能使用你的成果 。此外 。你在数据科学工作流程中可能需要与存在于 Docker 容器中的其它应用进行交互 。比如数据库 。
Docker 术语
在我们继续深入之前 。熟悉一下 Docker 的术语会很有帮助:
·镜像(image):是你想要创建的东西的蓝图 。比如:Ubuntu+TensorFlow 。带有英伟达驱动程序和一个运行的 Jupyter 服务器 。
·容器(container):是你实现的运行的镜像的实例化 。你可以运行同一个镜像的多个副本 。分清镜像和容器之间的差异非常重要 。因为这是新入门者常常混淆的两个概念 。如果你不清楚镜像和容器的差别 。停下来再读一次 。
·Dockerfile:用于创建镜像的配方 。Dockerfile 包含特殊的 Docker 语法 。官方文档说:Dockerfile 是一个文本文档 。其中包含了用户可以在命令行调用的用来组装成镜像的所有命令 。
推荐阅读
- 博氏巨蜥的价格
- 路易14玫瑰的花语 路易十四玫瑰花什么意思
- 还在担心移民岛国要花多少钱 其实移民这些小国可以省很多钱!
- 什么为落叶乔木 什么为落叶乔木?
- 没有钱,没有经验,要怎样创业?
- 美股熔断会重挫科技公司吗?未来一年科技和数码行业可能面临些什么?
- 哪种树被称为活化石? 哪种树被称为活化石
- 马耳他投资移民又要变政 2020年马耳他移民政策变动汇总
- 打工不如自己当老板,但是没有钱该如何创业呢?