前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >独家 | 手把手教你用Python 3创建用于机器学习开发的Linux虚拟机(附安装教程、代码)

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

作者头像
数据派THU
发布于 2018-01-30 08:17:55
发布于 2018-01-30 08:17:55
2K0
举报
文章被收录于专栏:数据派THU数据派THU

原文标题: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

代码语言:js
AI代码解释
复制
# 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】至联系邮箱,申请白名单授权并按要求编辑。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP base64图片处理大全
<?php header('Content-type:text/html;charset=utf-8'); function image_base64($image_file) { // ge
IT工作者
2022/02/09
2K0
php读取和保存base64编码的图片内容
<?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = './429676
lilugirl
2019/05/26
2.6K0
php 图片转成base64 原
function base64EncodeImage ($image_file) {
双面人
2019/04/10
1.5K0
VB.NET 图片和BASE64互转
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
办公魔盒
2019/10/29
2.6K0
VB.NET 图片和BASE64互转
Go语言-base64使用
什么是base64? Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中
李海彬
2018/03/27
1K0
图片与base64相互转换PHP版
PHP 将图片转换为 base64 字符串格式 直接上代码 <?php //Filetype: JPEG,PNG,GIF $file = "encode.jpg"; //$file:图片地址 if
骤雨重山
2022/01/17
5060
php将图片链接转换为base64编码文件流
/** * 图片链接转换为 base64 文件流 * @param $imgUrl * @return string */ function img_url_to_base64($imgUrl) { $imageInfo = getimagesize($imgUrl); return 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode(file_get_contents($imgUrl))); }
Lansonli
2021/10/09
2.3K0
php将image转换为base64编码
这种方式能够大大减少页面载入时间,因为整个页面只需要一个请求,多个针对html文档和图片的请求。请求需要被提(上)交(传),但是99%的上传速度是被限制的。
老高的技术博客
2022/12/24
1.1K0
js 图片转换base64 base64转换为file对象
相关: https://www.cnblogs.com/fps2tao/p/9268380.html
全栈程序员站长
2022/07/21
9.3K1
netty系列之:java中的base64编码器
什么是Base64编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。
程序那些事
2022/04/01
7960
Java 将图片转换成base64编码字符串
那么这是什么呢?这是Data URI scheme。 Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。比如上面那串字符,其实是一张小图片,将这些字符复制黏贴到火狐的地址栏中并转到,就能看到它了。 在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。
飞奔去旅行
2019/06/13
6.7K0
encoding/base64
RFC 4648标准化了两种字符集。默认字符集用于MIME(RFC 2045)和PEM(RFC 1421)编码,RFC 4648定义的另一base64编码字符集,用于URL和文件名用'-'和'_'替换了'+'和'/'
酷走天涯
2019/06/11
6010
encoding/base64
Base64编码原理与应用
2015年,我们在青云平台上实现了“百度云观测”应用。青云应用本质上是一个iframe,在向iframe服务方发送的请求中会携带一些数据,青云平台会使用Base64 URL对这些数据进行编码,其提供的编码解码算法示例如下:
bear_fish
2018/09/19
1.8K0
Base64编码原理与应用
Python3内置模块之base64编解码方法小结
Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049,上面有 MIME 的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。比如使二进制数据可以作为电子邮件的内容正确地发送,用作 URL 的一部分,或者作为 HTTP POST 请求的一部分. 即 base64 其实不能归属密码领域,作用也不是用于加密,它是一种编码算法,但是具有不可读性,所以可以说是防君子不防小人。
一墨编程学习
2019/06/15
1.7K0
PHP网络图片储存到服务器
相信有很多人有把网络图片保存到服务器的需求,那么如何把网络图片保存到服务器上呢?简单介绍一下我下面代码的原理,首先网络图片转化成base64格式,然后再把base64保存为jpg或者png等格式的图片即可,直接看代码吧
田小檬
2023/08/24
2250
使用PHP将HTML转换成PDF文件的方法以及常见问题解决方法
比对了一些插件,我们最终决定使用dompdf这个插件,插件的github在这里:https://github.com/dompdf/dompdf。
ianzhi
2019/07/31
3.9K0
使用PHP将HTML转换成PDF文件的方法以及常见问题解决方法
一篇文章彻底弄懂Base64编码原理
----------------------------转载部分start-----------------------------
明明如月学长
2021/08/27
5.9K1
你知道什么是Base64吗?
Base64 编码,首先我们应该搞清楚,为什么里面有个 64 的字样呢?其实是因为该编码使用 64 个明文来编码任意 的二进制文件,它里面只使用了 A-Z,a-z,0-9,+,/这 64 个字符,有“略懂”的同学就会说了,里面还有“=”号啊,不错,不过等号不属于编码字符,而是填充字符。 还有就是,为什么发明这么个编码呢,其实这个编码的原理是很简单的,“破解”也很容易,电子邮件刚出来的 时候,只传递英文字符,这没有问题,但是后来,中国人,日本人都要发 email,这样问题就来了,因为这些字符有可能会被邮件
沈唁
2018/05/24
1.5K0
用Python将图片转换为base64字符串
无他,这篇博文记录一下利用Python将OpenCV图片转换为base64字符串并在网页上进行展示的过程,权当备忘。可在这里查看源码。
王云峰
2023/10/23
6810
Base64编码知识详解
在我们进行前端开发时,针对项目优化,常会提到一条:针对较小图片,合理使用Base64字符串替换内嵌,可以减少页面http请求。 并且还会特别强调下,必须是小图片,大小不要超过多少KB,等等。 那么,Base64又到底是什么呢?
用户7353950
2022/06/23
2.1K0
Base64编码知识详解
推荐阅读
相关推荐
PHP base64图片处理大全
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文