如何使用 Python 3 创建用于机器学习开发的 Linux 虚拟机

Linux 是使用 Python 进行机器学习开发的绝佳环境。

这些工具可以快速轻松地安装,并且您可以直接开发和运行大型模型。

在本教程中,您将了解如何为使用 Python 的机器学习创建和设置 Linux 虚拟机。

完成本教程后,您将了解:

  • 如何下载和安装 VirtualBox 来管理虚拟机。
  • 如何下载和设置 Fedora Linux。
  • 如何在 Python 3 中为机器学习安装 SciPy 环境。

如果您的基础操作系统是 Windows、Mac OS X 和 Linux,本教程都很适合。

通过我的新书《Python 机器学习精通》,其中包含分步教程和所有示例的Python 源代码文件,为您的项目打下基础

让我们开始吧。

Linux 虚拟机的优势

您可能希望为 Python 机器学习开发使用 Linux 虚拟机的原因有很多。

例如,以下是使用虚拟机的 5 个主要优势列表

  • 使用您系统上(如果您使用的是 Windows)不可用的工具。
  • 在不影响本地环境的情况下安装和使用机器学习工具(例如,使用 Python 3 工具)。
  • 为不同项目(Python2 和 Python3)拥有高度定制化的环境。
  • 保存机器的状态并精确地接续之前的工作(在机器之间切换)。
  • 与其它开发者共享开发环境(设置一次,多次复用)。

也许最有利的一点是第一点,能够轻松使用您环境中不支持的机器学习工具。

我是 OS X 用户,尽管可以使用 brewmacports 安装机器学习工具,但我仍然发现为机器学习开发设置和使用 Linux 虚拟机更容易。

概述

本教程分为 3 个部分

  1. 下载和安装 VirtualBox。
  2. 在虚拟机中下载和安装 Fedora Linux。
  3. 安装 Python 机器学习环境

1. 下载和安装 VirtualBox

VirtualBox 是一个免费的开源平台,用于创建和管理虚拟机。

安装完成后,只要您有 ISO 映像或 CD 可供安装,就可以创建任意数量的虚拟机。

Download VirtualBox

下载 VirtualBox

  • 3. 选择适合您工作站的二进制文件。
  • 4. 为您的系统安装该软件,并按照安装说明进行操作。
Install VirtualBox

安装 VirtualBox

  • 5. 打开 VirtualBox 软件并确认其正常工作。
Start VirtualBox

启动 VirtualBox

2. 下载和安装 Fedora Linux

我选择 Fedora Linux 是因为它比其他一些 Linux 发行版更友好。

它是 RedHat Linux 的领先版本,面向工作站和开发人员。

2.1 下载 Fedora ISO 映像

首先,让我们下载 Fedora Linux 的 ISO 映像。在本例中,是 Fedora 25 的 64 位版本。

Download Fedora

下载 Fedora

  • 5. 您现在应该有一个名为
    • Fedora-Workstation-Live-x86_64-25-1.3.iso”的 ISO 文件。

现在我们准备在 VirtualBox 中创建虚拟机了。

2.2 创建 Fedora 虚拟机

现在,让我们在 VirtualBox 中创建 Fedora 虚拟机。

  • 1. 打开 VirtualBox 软件。
  • 2. 点击“新建”按钮。
  • 3. 选择名称和操作系统。
    • 名称:Fedora25
    • 类型:Linux
    • 版本:Fedora (64-bit)
    • 点击“继续
Create Fedora VM Name and Operating System

创建 Fedora VM 名称和操作系统

  • 4. 配置内存大小
    • 2048
  • 5. 配置硬盘
    • 立即创建虚拟硬盘
    • 硬盘文件类型
    • VDI (VirtualBox 磁盘映像)
    • 物理硬盘上的存储
    • 动态分配
    • 文件位置和大小:10GB

现在我们准备从 ISO 映像安装 Fedora。

2.3 安装 Fedora Linux

现在,让我们在新的虚拟机上安装 Fedora Linux。

  • 1. 选择新的虚拟机,然后点击“开始”按钮。
  • 2. 点击文件夹图标并选择 Fedora ISO 文件
    • Fedora-Workstation-Live-x86_64-25-1.3.iso”的 ISO 文件。
Install Fedora

安装 Fedora

  • 3. 点击“开始”按钮。
  • 4. 选择第一个选项“Start Fedora-Live-Workstation-Live 25”,然后按 Enter 键。
  • 5. 按“Esc”键跳过检查。
  • 6. 选择“Live System User”。
  • 7. 选择“安装到硬盘”。
Install Fedora to Hard Drive

将 Fedora 安装到硬盘

  • 8. 完成“语言选择”(英语)
  • 9. 完成“安装目标”(“ATA VBOX HARDDISK”)。
    • 您可能需要等待一分钟,VM 才能创建硬盘。
Install on Virtual Hard Disk

安装到虚拟硬盘

  • 10. 点击“开始安装”。
  • 11. 设置 root 密码。
  • 12. 创建一个属于您自己的用户。
    • 记下用户名和密码(以便以后使用)。
    • 勾选“将此用户设为管理员”(以便安装软件)。
Create a New User

创建新用户

  • 13. 等待安装完成……(5 分钟?)
  • 14. 点击“退出”,点击右上角的电源图标;选择关机。

2.4 完成 Fedora Linux 安装

Fedora Linux 已安装;让我们完成安装并使其准备好使用。

  • 1. 在 VirtualBox 中选择 Fedora25 VM,在“存储”下,点击“光驱”。
    • 选择“从虚拟驱动器移除磁盘”以弹出 ISO 映像。
  • 2. 点击“开始”按钮启动 Fedora Linux 安装。
  • 3. 以您创建的用户身份登录。
Fedora Login as New User

Fedora 以新用户身份登录

  • 4. 完成安装
    • 选择语言“English
    • 点击“Next
    • 选择键盘“US
    • 点击“Next
    • 配置隐私
    • 点击“Next
    • 连接您的在线账户
    • 点击“Skip
    • 点击“开始使用 Fedora
  • 5. 关闭自动启动的帮助系统。

现在我们有了一个 Fedora Linux 虚拟机,可以安装新软件了。

3. 安装 Python 机器学习环境

Fedora 使用 Gnome 3 作为窗口管理器。

Gnome 3 与之前的 Gnome 版本有很大不同;您可以使用内置的帮助系统学习如何操作。

3.1 安装 Python 环境

首先,让我们安装机器学习开发所需的 Python 库。

  • 1. 打开终端。
    • 点击“Activities
    • 输入“terminal
    • 点击图标或按回车键
Start Terminal

启动终端

  • 2. 确认 Python3 已安装。

类型

Python3 Version

Python3 版本

  • 3. 安装 Python 机器学习环境。具体来说
    • NumPy
    • SciPy
    • Pandas
    • Matplotlib
    • Statsmodels
    • Scikit-Learn

DNF 是软件安装系统,以前称为 yum。当您第一次运行 dnf 时,它将更新软件包数据库,这可能需要一分钟。

类型

提示时输入您的密码。

通过按“y”并按“enter”来确认安装。

3.2 确认 Python 环境

环境安装完成后,我们可以通过打印每个所需库的版本来确认。

  • 1. 打开 Gedit。
    • 点击“Activities
    • 输入“gedit
    • 点击图标或按回车键
  • 2. 输入以下脚本,并将其保存为 versions.py,放在主目录中。

没有复制粘贴支持;您可能想在 VM 中打开 Firefox,导航到此页面,然后将脚本复制粘贴到您的 Gedit 窗口中。

Write Versions Script

编写版本脚本

  • 3. 在终端中运行脚本。

类型

Python3 Check Library Versions

Python3 检查库版本

使用 VM 的技巧

本节列出了一些使用 VM 进行机器学习开发的技巧。

  • 复制粘贴和文件夹共享。这些功能需要在 Linux VM 中安装“Guest Additions”。我未能正确安装它,因此不使用这些功能。如果您愿意,可以尝试一下;请在评论中告诉我您的进展。
  • 使用 GitHub。我建议将所有代码存储在 GitHub 中,并从 VM 中检入和检出代码。这可以大大简化将代码和资源移入和移出 VM 的过程。
  • 使用 Sublime。我认为 Sublime 是 Linux 上一个很棒的开发文本编辑器,至少比 Gedit 好。
  • 使用 AWS 处理大型作业。您可以使用相同的方法在 Amazon Web Services 上设置 Fedora Linux,以便在云中运行大型模型。
  • VM 工具。您可以通过关闭窗口在任何时候保存 VM。您也可以在任何时候拍摄 VM 的快照并返回到快照。这在对文件系统进行大规模更改时可能很有用。
  • Python2。您可以在 Linux 中轻松地与 Python 3 并存安装 Python2,并使用 python(而不是 python3)二进制文件,或者使用替代方法在两者之间切换。
  • Notebooks。考虑在 VM 中运行一个 notebook 服务器,并打开防火墙,以便您可以从 VM 外的主工作站连接和运行。

您有什么技巧可以分享吗?请在评论中告诉我。

进一步阅读

如果您对本教程中使用的工具有所不了解,以下是一些供您进一步阅读的资源。

总结

在本教程中,您了解了如何为 Python 机器学习开发设置 Linux 虚拟机。

具体来说,你学到了:

  • 如何下载和安装 VirtualBox,用于管理虚拟机的免费开源软件。
  • 如何下载和设置 Fedora Linux,一个对开发人员友好的 Linux 发行版。
  • 如何安装和测试用于机器学习开发的 Python3 环境。

您完成教程了吗?
请在下面的评论中告诉我进展如何。

发现 Python 中的快速机器学习!

Master Machine Learning With Python

在几分钟内开发您自己的模型

...只需几行 scikit-learn 代码

在我的新电子书中学习如何操作
精通 Python 机器学习

涵盖自学教程端到端项目,例如
加载数据可视化建模调优等等...

最终将机器学习带入
您自己的项目

跳过学术理论。只看结果。

查看内容

34 条对《如何使用 Python 3 创建用于机器学习开发的 Linux 虚拟机》的回复

  1. jm 2017 年 2 月 27 日下午 1:22 #

    也许用 Docker 也可以,方式相同?

    谢谢

    • Jason Brownlee 2017 年 2 月 28 日上午 8:09 #

      好建议,谢谢!

    • Nunya 2018 年 5 月 2 日晚上 9:57 #

      您忘了实际安装 Python 3;您从步骤 1:打开终端跳到步骤 2:确认 Python 安装……?

      • Naseef 2022 年 2 月 3 日下午 6:16 #

        对我来说已经安装好了。我认为对您来说也一样。

  2. Francis Ibok 2017 年 2 月 28 日下午 5:18 #

    嗨 Jason,我使用的是 Macbook pro,已经安装了两个操作系统 OS X 和 Microsoft Windows 7,我该怎么办?

    • Jason Brownlee 2017 年 3 月 1 日上午 8:32 #

      我建议使用 Mac OS X。

      您可以安装和使用 Python Anaconda,或者如果您更高级,可以探索使用包管理器,如 macports(我的个人偏好)。

      • Francis Ibok 2017 年 3 月 12 日下午 4:08 #

        那意味着我可以卸载 Windows 7,只使用 Mac OSX。

  3. Jimmy Olano 2017 年 3 月 1 日上午 5:48 #

    好文!

    VBox Guest Additions 的关键是在虚拟机中编译“内核模块”。

    -只需按 ALT+F2 然后输入“gnome-terminal”。
    -输入“sudo yum install kernel-devel-4.8.9-300.fc25.x86_64”。
    -在 VirtualBox 中设置带有 VBox Guest Additions 的 ISO 文件。
    -只需从 Fedora 打开“cd”并执行“runasroot.sh”(或在“/run/media/VIRTUALBOX…”中使用“sudo”)。
    -等待编译“内核模块”(需要一段时间来确定您的“硬件”并进行编译)。
    -通过在 VirtualBox 中设置,从真实机器共享文件和文件夹到虚拟机。
    -完成!

    • Jason Brownlee 2017 年 3 月 1 日上午 8:45 #

      太棒了 Jimmy,感谢您的提示。

      我会尝试确认,甚至更新教程。

  4. Marcos Keyser 2017 年 4 月 24 日晚上 8:04 #

    非常有趣的帖子!

    我想了解更多关于如何在 VM 中运行 notebook 服务器,以便您可以从 VM 外的主工作站连接和运行。我可以在哪里开始?

    谢谢

  5. Marcos Keyser 2017 年 4 月 24 日晚上 8:35 #

    这个关于如何在数据科学语境中使用 Docker 的演示很有趣。如果能看到关于此的博客文章就好了。

  6. Marcos Keyser 2017 年 4 月 24 日晚上 8:35 #

    演示在这里:https://www.youtube.com/watch?v=GOW6yQpxOIg

  7. CarlosFra 2017 年 5 月 17 日凌晨 1:12 #

    我喜欢你的帖子,感谢你对我的数据科学职业生涯的帮助!

  8. Nagaraj 2017 年 10 月 15 日晚上 11:39 #

    在 Windows 10 机器上尝试了以上步骤,效果很好。很棒的帖子。谢谢。

  9. domenico 2018 年 2 月 19 日下午 6:26 #

    为什么不提供可下载的虚拟机?基本上它都是开源的 🙂

    • Jason Brownlee 2018 年 2 月 21 日上午 6:25 #

      好建议。主要原因是它很大,例如几个 G 字节。

  10. Venkita Krishnan 2018 年 6 月 27 日凌晨 12:55 #

    我按照您的说明使用 VMWare Workstation 进行了相同的操作,效果完美。谢谢。

  11. Alistair 2018 年 8 月 17 日上午 9:47 #

    仅供参考:Fedora 28 不再允许您在安装过程中创建用户或设置 root 密码。我在 Reddit 上找到了一些信息:https://www.reddit.com/r/Fedora/comments/8g0ggh/question_about_fedora_28s_new_install_no_root/

  12. sweta 2019 年 1 月 18 日晚上 11:31 #

    好信息。如何在 Windows 7 上执行此操作?如果您能分享信息,将不胜感激。

  13. Titan 2019 年 1 月 22 日下午 3:23 #

    这非常有帮助。

    我很好奇,并且很想听听您对以下内容的看法:

    1) 您对使用 Ubuntu 的 VMware 有何看法?由于 Ubuntu 声称其构建结构以 ML 为中心,而 VMware 经常与 VirtualBox 相提并论(有什么独特优势吗?)

    2) 您对为 VirtualBox 或 VMware 分配多少 RAM 有什么建议吗?
    the VirtualBox or VMware?

    谢谢,

  14. David 2019 年 2 月 16 日晚上 11:44 #

    不错的教程。

    我使用 Anaconda 构建了一个虚拟机,并将其作为 OVA 文件共享在 GitHub 上(点击我的名字)。
    该页面有关于虚拟机的描述、照片和视频。

    希望这有帮助。

  15. guach 2019 年 7 月 19 日上午 9:36 #

    VirtualBox 支持使用 GPU (Cuda) 吗?

  16. Facebook 2019 年 8 月 31 日晚上 7:46 #

    很高兴看到如此出色的演示,它极大地指导了如何为 Python 3 的机器学习开发创建 Linux 虚拟机。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。