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

原文标题:How to Create a Linux Virtual Machine For Machine Learning Development With Python 3

作者:Jason Brownlee

翻译:杨金鸿

翻译校对:白静

文字校对:丁楠雅

本文长度为3000字,建议阅读8分钟

本文主要内容包括Linux虚拟机的优点、安装教程以及使用VM的技巧。

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”来访问下载页面
  • 为您的虚拟机选择二进制文件
  • 为您的系统安装软件,并遵循安装说明
  • 打开VirtualBox软件并批准它的工作

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实时镜像”
  • 您现在应该有一个具有名字的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”

  • 配置内存大小

2048

  • 配置硬盘

现在创建一个虚拟硬盘。

硬盘文件类型。

VDI(VirtualBox磁盘镜像)。

物理硬盘上的存储。

动态分配

文件位置和大小:10G

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

2.3 Fedora Linux 安装

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

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

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

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

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

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

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

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

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

2.4 Fedora Linux安装完成

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

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

选择语言“英语”

点击“下一步”

选择键盘为“US”

点击“下一步”

配置隐私权

点击“下一步”

连接你的网络账户

点击“跳过”

点击“开始使用Fedora”

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

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

3.安装Python机器学习环境

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

3.1 安装Python环境

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

  • 打开终端

点击“Activities”

输入:“终端”

点击图标或者按回车键

  • 确认Python3安装

输入:

python3 --version

  • 安装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窗口中。

  • 在终端中运行脚本

输入:

python3 versions.py

使用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 Homepa

总结

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

具体来说,你学到了:

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

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

原文链接:

https://machinelearningmastery.com/linux-virtual-machine-machine-learning-development-python-3/

编辑:文婧

杨金鸿,北京护航科技有限公司员工,在业余时间喜欢翻译一些技术文档。喜欢阅读有关数据挖掘、数据库之类的书,学习java语言编程等,希望能在数据派平台上熟识更多爱好相同的伙伴,今后能在数据科学的道路上走的更远,飞的更远。

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派THUID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

原文发布于微信公众号 - 数据派THU(DatapiTHU)

原文发表时间:2017-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Guangdong Qi

根据友盟统计错误分析查找线上BUG(工具篇)

今天线上的版本出现了BUG,在启动APP的时候出现闪退情况,但是这种BUG在正常测试的时候没有测试到,怎么解决呢

1K10
来自专栏云计算教程系列

如何在Debian上安装MutliCraft

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

21130
来自专栏coding

swoole框架-swoft初体验swoft环境搭建体验http服务体验ws服务初体验

没有swoole之前,php一直被"誉“为世界上最好的语言。swoole横空出世后,php就成了宇宙最好的语言了...

32510
来自专栏沃趣科技

ASM 翻译系列第一弹:基础知识 ASM AU,Extents,Mirroring 和 Failgroups

原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 ASM Allocation Units 在ASM磁盘组中,最基本空间分配单位...

36670
来自专栏冰霜之地

手把手教你利用Jenkins持续集成iOS项目

众所周知,现在App的竞争已经到了用户体验为王,质量为上的白热化阶段。用户们都是很挑剔的。如果一个公司的推广团队好不容易砸了重金推广了一个APP,好不容易有了一...

18130
来自专栏杨建荣的学习笔记

Datapump数据迁移前的准备工作(二)(r9笔记第59天)

之前写了一篇文章分析了Datapump迁移数据的一些准备总结,反响还不错。Datapump数据迁移前的准备工作,最近碰到一个场景,根据评估还是使用Datapum...

29140
来自专栏DevOps时代的专栏

微服务之基于Docker的分布式企业级实践

35930
来自专栏ml

flume介绍与原理(一)

1 .背景   flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其...

567150
来自专栏程序猿DD

自建API网关「架构设计篇」

阅读对象 传统企业正在做微服务架构转型的开发人员或者架构师,希望本文对您能起到一定的引导作用。 API网关介绍 网关一词较早出现在网络设备里面,比如两个相互独立...

1.6K70
来自专栏Android机动车

Android开发者的UI自动化测试上手指南

开发人员测试自己所开发软件的行为就像学生在完成考试后对自己的成绩进行评估,所以可能会出现下面的问题:

15120

扫码关注云+社区

领取腾讯云代金券