使用 Docker 创建简单的 Numpy Jupyter Notebook
机器学习和数据科学无疑已成为新的流行语。如今,各组织都在尝试采用数据分析和机器学习技术来预测其销售额并增加收入。毫无疑问,专门研究机器学习技术肯定会让你在当今的企业界占据优势。如果你想在一个动态且受限的环境中构建机器学习模型,那么使用 Docker 容器将是最好的选择。
借助 Jupyter Notebook,你可以在 Docker 容器内轻松构建和运行机器学习模型。事实上,Docker 容器的打包环境可以更好地控制你将在机器学习项目中使用的 Python 或 R 库和软件包的版本。
在本文中,我们将讨论如何在 Docker 容器内创建一个简单的 Numpy Jupyter Notebook。按照相同的模板,你可以轻松安装其他有用的库和软件包,并通过 Jupyter Notebook 将它们包含在你的机器学习项目中。
假设你的系统上已安装 Docker,让我们继续了解如何在 Docker 容器内运行 Jupyter Notebook。
首先,通过从 Docker Registry 直接拉取,运行 Docker Jupyter 镜像。可以使用以下命令来运行 Jupyter 镜像。
sudo docker run −d −p 8888:8888 jupyter/scipy-notebook
要检查 Docker 容器是否正在运行,可以使用以下命令:
sudo docker ps −a
复制 Jupyter 容器的容器 ID。
之后,你需要获取与 Docker 容器内运行的 Jupyter Notebook 关联的令牌。为此,可以使用以下命令:
sudo docker exec <container−id> jupyter notebook list
输出
https://127.0.0.1:8888/?token=a37c45becfd981ffeb2fdca9b82419bd697e9 a8b4b5bf25b :: /home/raunak
这将生成一个包含令牌 ID 的本地主机 URL。复制 URL 到令牌 ID,启动浏览器并打开该链接。Notebook 在 Docker 容器内提供服务,并且 Docker 容器的端口 8888 会暴露到主机机的端口 8888。因此,你可以在主机机上访问该 URL。这将在浏览器中打开 Notebook。
Docker 容器中已经包含了所有基本的机器学习软件包,例如 Numpy、scipy 等。
创建一个新的 Python3 Notebook 并为其命名。在 Notebook 中,键入以下命令。
import numpy as np np.mgrid[0:3, 0:3]
执行 Notebook 单元格。你应该会看到一个矩阵输出。现在,保存 Notebook。
停止 Docker 容器并重新启动它,以检查 Jupyter Notebook 是否仍然存在。
sudo docker ps −a sudo docker stop <container−id> sudo docker start <container−id>
你会发现之前创建的 Jupyter Notebook 仍然存在于 Docker 容器中。
总之,掌握机器学习或数据科学等技能无疑会提升你的学术或职业生涯,但是使用机器学习构建项目并在 Docker 容器内部署或运行它们不仅为你提供了一个完美的容器和打包环境,而且还有助于简化训练大型模型的过程,因为它为你提供了充足的资源,并在你执行其他任务时避免系统负载过重。
在本文中,我们了解了如何从 Docker registry 运行 Jupyter 镜像、如何在本地机器的浏览器上访问 Notebook、运行了一个 numpy 代码片段以及验证了 Notebook 在重新启动容器时是否仍然存在。