独家 | 手把手教你用Python 3创建用于机器学习开发的Linux虚拟机(附安装教程&代码)

简介:

Linux是使用Python进行机器学习开发的极佳环境。这些工具能够被简便快捷地安装,并且您可以直接开发和运行大型模型。

在本教程中,您将了解如何使用Python创建和安装用于机器学习的Linux虚拟机。完成本教程后,您将知道:

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

如果您的电脑操作系统是Windows、Mac OS X和Linux。那么本教程是适合您的。

Linux虚拟机的好处

您可能有很多原因想要使用Linux虚拟机来进行Python机器学习开发。例如,下面列出了使用虚拟机的5大好处:

  • 使用在本机系统上不可用的工具(如果您的操作系统是Windows)
  • 在不影响本地环境的情况下安装和使用机器学习工具(例如:使用Python 3工具)
  • 为不同的项目(Python2和Python3)提供高度定制的环境
  • 为了节省机器的状态,并准确地找出你离开的地方(从机器转跳到机器)
  • 与其他开发人员共享开发环境(创建一次,多次重用)

也许最有利的一点是第一点,能够很容易地使用不受环境支持的电脑操作系统,使用机器学习工具。

我是一个OS X用户,尽管机器学习工具可以使用BREW和MacPorts安装,我还是认为为机器学习开发安装和使用Linux虚拟机更容易。

概述

本教程分为三个部分:

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

1. 下载并安装VirtualBox

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

一旦安装好,你就可以创建所有你喜欢的虚拟机,只要你有ISO映像或者CD就可以安装。

  • 访问VirtualBox.org
  • 点击“下载VirtualBox”来访问下载页面
42ea87353e95b383db612ffc696f0c5d17c6421a
  • 为您的虚拟机选择二进制文件
  • 为您的系统安装软件,并遵循安装说明
2dbd8e234faef0e8463a62fbbb25c6ce331b2de7
  • 打开VirtualBox软件并批准它的工作
a8c300eef97c300817a0198b989723ae61a38cf1

2.下载并安装Fedora Linux

我选择了Fedora Linux,因为我认为和其他的Linux相比,它更亲切、更温和。对于面向虚拟机和开发人员的RedHat Linux来说,它具有领先优势。

2.1下载Fedora ISO映像

让我们从下载Fedora Linux的ISO开始。Fedora 25为64位版本。

  • 访问getfedora.org
  • 单击“Workstation”访问虚拟机页面
  • 点击“立刻下载”来访问下载页面
  • 在“其他下载”下,点击“64位1.3 GB实时镜像”
01b1cbfd1f7d1a91a693cc7324726d33de40f292
  • 您现在应该有一个具有名字的ISO文件: “Fedora-Workstation-Live-x86_64-25-1.3.iso“

现在我们已经准备好在VirtualBox中创建VM了。

2.2创建Fedora虚拟机

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

  • 打开VirtualBox软件
  • 点击“NEW”按钮
  • 选择名称和操作系统  

          名称:Fedora25

          类型:Linux

          版本:Fedora (64-bit)

          点击:“Continue”

568dd4744dd4f1e09ecb31e44675ea8f28bd240c

  • 配置内存大小

          2048

  • 配置硬盘

          现在创建一个虚拟硬盘。

          硬盘文件类型。

          VDI(VirtualBox磁盘镜像)。

          物理硬盘上的存储。

          动态分配

          文件位置和大小:10G

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

2.3 Fedora Linux 安装

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

  • 选择新的虚拟机并点击“开始”按钮
  • 单击文件夹图标,选择Fedora ISO文件

          “Fedora-Workstation-Live-x86_64-25-1.3.iso”

c07383b53267ba7c04d6c298e1e80ff18b4aa245

  • 点击“开始按钮”
  • 选择第一个选项“Start Fedora-Live-Workstation-Live 25”并按下回车键
  • 点击“ESC”键跳过检查
  • 选择“实时系统用户”
  • 选择“安装到硬盘驱动器”

448b7bae0659c30622b64737b71d830e9d4c87c2

  • 完成“语言选择”(英语)
  • 完成“安装目标”(“ATA VBOX硬盘”)

          您可能需要等一分钟才能让VM创建硬盘

30a3bf25391a9681827bec1e95771ef268483b33

  • 点击“开始安装”
  • 设置root密码
  • 创建你自己的一个用户

            记下用户名和密码(以便以后可以使用)

            勾选“让这个用户为管理员”(这样您就可以安装软件)

d1c5d5e9d0eb5d3b7e00703a0674108510944111

  • 等待安装完成。(大约5分钟)
  • 点击“退出”,点击右上方的电源图标,选择“关机”

2.4 Fedora Linux安装完成

Fedora Linux已经安装;让我们完成最后的安装,使它可以使用。

  • 在VirtualBox选择fedora25 VM,在“存储”下,单击“光盘驱动器”选择“从虚拟驱动器中删除磁盘”,以弹出ISO镜像
  • 单击“开始”按钮启动Fedora Linux的安装
  • 使用你创建的用户登入系统

8c906cef0ccee4853e162c5564976c37bb327f5d

  • 完成安装

         选择语言“英语”

         点击“下一步”

         选择键盘为“US”

         点击“下一步”

         配置隐私权

         点击“下一步”

         连接你的网络账户

         点击“跳过”

         点击“开始使用Fedora”

  • 关闭自动启动的帮助系统

现在我们有了Fedora Linux虚拟机,准备安装新的软件。

3.安装Python机器学习环境

Fedora使用Gnome 3作为窗口管理器。Gnome 3与之前的Gnome版本有很大的不同;通过使用内置的帮助系统,您可以学习如何使用它。

3.1 安装Python环境

让我们从为机器学习开发安装所需的Python库开始。

  • 打开终端

         点击“Activities”

         输入:“终端”

         点击图标或者按回车键

aba29bdd3b812b1a748dc3646575e70374d4c858

  • 确认Python3安装

输入:

python3 --version

37dc53838e8ee720070606128ec0ed93cf1e783c

  • 安装Python机器学习环境。具体地:

          NumPy

          SciPy

          Pandas

          Matplotlib

          Statsmodels

          Scikit-Learn

DNF是一个软件安装系统,正式的yum。第一次运行DNF时,它将更新包的数据库,这可能需要一分钟。

输入:

sudo dnf install python3-numpy python3-scipy python3-scikit-learn python3-pandas python3-matplotlib python3-statsmodels
当提示时输入您的密码, 通过按“y”或“enter”来确认安装。

3.2 确认Python环境

现在已经安装了环境,我们可以通过打印每个必需的库的版本来确认它。

  • 打开:“Gedit”.

          点击:“Activities”

          输入:“gedit“

  • 点击图标或者按回车键

在主目录中将其保存为versions.py

# scipy
import scipy
print('scipy: %s' % scipy.__version__)
# numpy
import numpy
print('numpy: %s' % numpy.__version__)
# matplotlib
import matplotlib
print('matplotlib: %s' % matplotlib.__version__)
# pandas
import pandas
print('pandas: %s' % pandas.__version__)
# scikit-learn
import sklearn
print('sklearn: %s' % sklearn.__version__)
# statsmodels
import statsmodels
print('statsmodels: %s' % statsmodels.__version__)
没有复制粘贴的支持;你可能想要在VM中打开Firefox、浏览这个界面并且复制粘贴这个脚本到你的gedit窗口中。

78a9b6e4e6552dee7c1da08ff33f66149b9d3728

  • 在终端中运行脚本

输入:

python3 versions.py

0826bdaca1d0d432019157d3a37af6c55f1422c7 

使用VM的技巧

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

  • 复制粘贴和文件夹共享:这些特性需要在Linux虚拟机中安装“Guest Additions”。我没有能够正确地安装它,因此不使用这些特性。如果你喜欢,你可以试试;请在评论中让我知道你是怎么做的。
  • 使用GitHub:我建议在GitHub中存储所有代码,并从VM中检查代码。这使得从VM中获取代码和资产变得更加容易。
  • 使用Sublime. 我认为对用于Linux开发来说,Sublime是一个很棒的文本编辑器,至少比Gedit好。
  • 使用AWS来做大的工作:您可以使用相同的步骤在Amazon Web Services上安装Fedora Linux,以便在云中运行大型模型。
  • VM工具:通过关闭窗口,您可以在任何时候保存VM。您还可以在任意时刻获取VM的快照,并返回到快照。如果您正在对文件系统进行较大的更改,那么这将是很有帮助的。
  • 您可以轻松地在Linux中安装Python2和Python 3,并使用Python(而不是python3)二进制文件,或者使用替代方案来在两者之间切换。
  • 笔记本:考虑在VM内运行一个笔记本服务器并打开防火墙,这样您就可以在VM之外的主工作站进行连接和运行

你有什么建议可以分享吗?请在评论中告诉我。

扩展阅读

下面是一些关于进一步阅读的资源,如果您对本教程中使用的工具是新手的话。

  • VirtualBox User Manual
  • Fedora Documentation
  • Fedora Wiki (tons of help on common topics)
  • SciPy Homepage
  • Scikit-Learn Homepage

总结

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

具体来说,你学到了:

  • 如何下载和安装VirtualBox,免费的开源软件来管理虚拟机。
  • 如何下载和安装Fedora Linux,这是一个面向开发者的友好的Linux发行版。
  • 如何为机器学习开发安装和测试一个Python3环境。

你完成了这个教程吗?请在下面的评论中告诉我。


原文发布时间为:2017-11-23

本文作者:Jason Brownlee

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

相关文章
|
9天前
|
监控 Python
Python中的装饰器:提升代码灵活性与可读性
在Python编程中,装饰器是一种强大的工具,能够提升代码的灵活性和可读性。本文将介绍装饰器的基本概念、使用方法以及实际应用场景,帮助读者更好地理解和利用这一功能。
|
10天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
【4月更文挑战第9天】本文强调了Python开发中性能优化和代码审查的重要性。性能优化包括选择合适数据结构、使用生成器和避免全局变量,而代码审查涉及遵循编码规范、使用静态代码分析工具和编写单元测试。这些实践能提升代码效率和可维护性,促进团队协作。
|
10天前
|
缓存 监控 算法
优化Python代码性能的10个技巧
提高Python代码性能是每个开发者都需要关注的重要问题。本文将介绍10个实用的技巧,帮助你优化Python代码,提升程序的运行效率和性能表现。无论是避免内存泄漏、减少函数调用次数,还是使用适当的数据结构,都能在不同场景下发挥作用,使你的Python应用更加高效稳定。
|
1天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
2天前
|
数据安全/隐私保护 Python
Python中的装饰器:提升代码可读性与灵活性
Python中的装饰器是一种强大的工具,可以在不改变函数原有逻辑的情况下,为函数添加额外的功能。本文将介绍装饰器的基本概念和用法,并通过实例演示如何利用装饰器提升代码的可读性和灵活性,使代码更加简洁、易于维护。
|
2天前
|
BI 开发者 数据格式
Python代码填充数据到word模板中
【4月更文挑战第16天】
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
4天前
|
缓存 算法 Python
优化Python代码的十大技巧
本文介绍了十种优化Python代码的技巧,涵盖了从代码结构到性能调优的方方面面。通过学习和应用这些技巧,你可以提高Python程序的执行效率,提升代码质量,以及更好地应对复杂的编程任务。
|
4天前
|
程序员 Python
Python中的装饰器:提升代码可读性与灵活性
在Python编程中,装饰器是一种强大的工具,可以在不修改原始代码的情况下,动态地添加功能。本文将深入探讨Python中装饰器的原理、用法和实际应用,以及如何利用装饰器提升代码的可读性和灵活性。
|
6天前
|
缓存 开发者 Python
深入探讨Python中的装饰器:提升代码可读性与灵活性
在Python编程中,装饰器是一种强大的工具,可以在不修改原始函数代码的情况下,对其行为进行扩展或修改。本文将深入探讨装饰器的原理和用法,以及如何利用装饰器提升代码的可读性和灵活性,为Python开发者提供更加优雅和高效的编程方式。