python人工智能入门优达视频_机器学习:优达教你搭建Python 环境的正确姿势

原标题:机器学习:优达教你搭建Python 环境的正确姿势

deb84f6ab8e645fd8990fdf8e79e2eeb.jpeg

为机器学习搭建好 Python 环境听起来简单,但有时候坑还不少。如果此前没有配置过类似的环境,很可能会苦苦折腾各种命令好几个小时。可是我明明只是想马上搞起来我的机器学习!

在此教程中,你将学到如何搭建一个稳定的机器学习 Python 开发环境。你将能如愿直接开始机器学习大业,妈妈再也不用担心安装包的问题啦!

(1) 配置 Python 3 和 Pip

第一步是安装 Python 的包管理器 pip:

sudo apt-get install python3-pip

(译者注:广大 Linux 发行商都在推荐 apt 代替 apt-get,不妨一试 ) (译者又注:这里原文提供的是 Linux Debian 系的安装命令,如果是 Mac OS,可以用 homebrew来安装, 而且如果通过 homebrew 安装 python3,那么 pip3 会同时安装,则只需 brew install python3 即可。)

有了 pip,只需一个简单的 pip install _your_package命令,我们就可以安装任何在Python包索引中编入索引的Python包,并带有一个简单的 pip install _your_package_。之后我们也会用 pip 来设置虚拟环境。

接下来,将 Python 3 设置为 pip或 python命令的默认值。这让使用 Python 3 的时候更简便。 如果不设置的话,当我们想用 Python 3,每次都需要输入 pip3和 python3。

为了将 Python 3 强制设为默认命令,我们需要修改 ~/.bashrc 文件。在命令行执行下列命令: (译者注:这里原文提供的是 Linux Debian 系的环境配置文件路径,如果是 Mac OS 则需修改 ~/.bash_profile。)

nano ~/.bashrc

向下滚动到 # some more ls aliases 部分,加入下行:

alias python='python3'

(译者注:原文的方法有点麻烦,其实不用打开文件,可以直接使用标准输出就行,一行命令搞定: echo'alias python = "python3"'>>~/.bashrc, Mac OS同理: echo'alias python = "python3"'>>~/.bash_profile)

保存文件、重载改动:

source ~/.bashrc

当当当!Python 3 现在成为你的默认 Python了!

(2) 创建虚拟环境

然后我们创建一个 虚拟环境,并在当中安装机器学习所需的所有 Python 包。

我们使用虚拟环境来分离我们的编码设置。 想象一下,假如有时候你想在你的计算机上做两个不同的项目,就需要不同版本的库。 而把它们全部放在相同的工作环境中可能会带来意想不到的麻烦,很可能会遇到库版本冲突的问题。 项目1的ML代码需要 numpy的1.0版,但是项目2需要1.15版。啊哦!搞不定了。

而虚拟环境能让我们分离工作环境以避免这些冲突。

首先,安装相关包:

sudo pip install virtualenv virtualenvwrapper

一旦安装好上述包,我们又需要编辑 ~/.bashrc文件了。将下面三行放到文件末尾并保存:

export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh

保存文件,重载改动:

source ~/.bashrc

现在我们终于能如下创建虚拟环境了:

mkvirtualenv ml

上面的代码中,我们创建了名为'ml'的虚拟环境。要进入该虚拟环境,输入:

workon ml

棒!现在所有在 ml 虚拟环境下安装的库都会被隔离在该环境中,不会与其他环境冲突了!不论什么时候你想运行基于 ml 环境中的库的代码,只需要用 workon 命令进入该环境,然后正常运行代码即可。

如果需要退出虚拟环境,运行:

deactivate

(3) 安装机器学习库

现在,我们可以安装机器学习库了。这里只会囊括最常用的几个:

numpy: 用于任何矩阵的工作,尤其是数学运算 * scipy: 科学计算 * pandas: 数据处理,操作和分析 * matplotlib: 数据可视化 * scikit learn: 机器学习

在此提一个一次安装所有包的小技巧:创建一个 requirements.txt 文件,像下面这样列出所有需要安装的包名称:

numpy scipy pandas matplotlib scikit-learn

保存文件,运行下面的命令:

pip install -r requirements.txt

pip 会直接一次性安装所有列在文件中的包。

恭喜,你的环境搭建好啦!机器学习之路,出发!

来自硅谷的终身学习平台——优达学城(cn.udacity.com),专注于技能提升和求职法则,让你在家能追随 Google、Facebook、IBM 等行业大佬,从零开始掌握数据分析、机器学习、深度学习、人工智能、无人驾驶等前沿技术,激发未来无限可能!返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java web登录状态保持_java web用于保持状态的4种方法

方法一:网址重写通过在url地址后面添加若干的token作为查询字符串来实现。token的值一般为 键值url?key1value1&key2value2&...&keynvaluenurl与token之间需要用?分开,两个token之间则是需要用一个&符号隔开。此方法适用于token不需要…

python天天向上续2_2019/2/12 Python今日收获

Python day12——025,026字典:当索引不好用时 1.字典:python唯一的一个映射类型。用键值对存储数据,他的标志是大括号。一个键值组合叫一个项。键的类型既可以是字符串类型也可以是整形也可以是浮点型。 如:dict{1:one…

python生成矩阵_如何在Python中生成矩阵?

你的问题的答案取决于你的学习目标是什么。如果您试图让矩阵“点击”以便以后使用它们,我建议您查看一个Numpyarray,而不是一个列表列表。这将使您可以轻松地分割行、列和子集。只要试着从列表中获取一个列,你就会感到沮丧。 使用列表列表作为…

java ee cdi_Java EE CDI ConversationScoped示例

java ee cdi在本教程中,我们将向您展示如何在Web应用程序中创建和使用ConversationScoped Bean。 在CDI中,bean是定义应用程序状态和/或逻辑的上下文对象的源。 如果容器可以根据CDI规范中定义的生命周期上下文模型来管理其实例的生命周期,则…

js input 自动换行_深入Slate.js - 拯救 ContentEditble

我们是钉钉的文档协同团队,我们在做一些很有意义的事情,其中之一就是自研的文字编辑器。为了把自研文字编辑器做好,我们调研了开源社区各种优秀编辑器,Slate.js 是其中之一(实际上,自研文字编辑器前&#x…

java main 如何不退出_为什么java main主线程退出了子线程还能运行;golang main结束所有协程都被结束了...

最近看golang main函数结束,所有协程都被结束了结论是这样:A不是main程的情况下,在A程里开启B程,A程执行完,A程return之后,B程不受影响,不会挂掉。所有子协程与main程同级的,与main程…

安全点

安全点 Java应用程序中有两个逻辑线程组: 应用程序线程执行应用程序逻辑 执行GC的线程 在执行诸如堆压缩之类的操作时,GC线程会四处移动一些对象,并且这些对象不能被任何应用程序线程使用,因为它们的物理位置可能会发生变化。 …

printf 地址_C程序显示主机名和IP地址

查找本地计算机的主机名和IP地址的方法有很多。这是使用C程序查找主机名和IP地址的简单方法。我们将使用以下功能:gethostname() :gethostname函数检索本地计算机的标准主机名。gethostbyname() :gethostbyname函数从主机数据库中检索与主机名…

java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,float,double)只有开发人员对其进行初始化,java不会对其进行初始化,如果不初始…

python开发的系统有哪些_Python web开发=几个模板系统的性能对比

Python web 开发:几个模板系统的性能对比 对比目标, jinja2 , cheetah , mako , webpy , bottle , tornado , django 的性能。 方法, 随机生成一个二维数组, …

java 字符串 移位_使用位运算、值交换等方式反转java字符串-共四种方法

在本文中,我们将向您展示几种在Java中将String类型的字符串字母倒序的几种方法。StringBuilder(str).reverse()char[]循环与值交换byte循环与值交换apache-commons-lang3如果是为了进行开发,请选择StringBuilder(str).reverse()API。出于学习的目的&…

xstream xml模板_XStream – XStreamely使用Java中的XML数据的简便方法

xstream xml模板有时候,我们不得不处理XML数据。 而且大多数时候,这不是我们一生中最快乐的一天。 甚至有一个术语“ XML地狱”描述了程序员必须处理许多难以理解的XML配置文件时的情况。 但是,不管喜欢与否,有时我们别无选择&…

python知识点智能问答_基于知识图谱的智能问答机器人

研究背景及意义 智能问答是计算机与人类以自然语言的形式进行交流的一种方式,是人工智能研究的一个分支。 知识图谱本质上是一种语义网络,其结点代表实体(entity)或者概念(concept),边代表实体/…

java会了还学什么_java都学哪些内容?学完之后可以做哪些工作?

展开全部阶段一:揭开企业开发神秘面纱 (4周32313133353236313431303231363533e78988e69d8331333431336163)1) Web开发基础:HTML语言、JavaScript、CSS、DOM等2) Oracle数据库基础:安装、配置Oracle数据库,熟练掌握SQL语句3) 操作系…

Java中的RAII

资源获取即初始化( RAII )是Bjarne Stroustrup用C 引入的一种用于异常安全资源管理的设计思想。 感谢垃圾回收,Java 没有此功能,但是我们可以使用try-with-resources实现类似的功能。 约翰哈德斯(John Huddles&#x…

java去掉字符串中前后空格函数_Java去除字符串中的空格

1. String.trim()trim()是去掉首尾空格2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间String str " hell o ";String str2 str.replaceAll(" ", "");System.out.println(str2);3.或者replaceAll("…

python3开发工具推荐_python开发工具有哪些?我推荐这5款python开发工具!

python开发工具有很多,目前我们用的比较多的是pycharm,除了pycharm还有文本编辑器像微软的vscode,sublime text都有非常好的插件,今天,我就把Python程序员使用频率比较高的5款开发工具推荐给大家,希望对大家…

java显示数据库 控件_WebLogic运用DB的Java控件访问数据库(1)

一、方法WebLogic页面与数据通信时,一般采用Java控件直接访问数据连接池,数据的直接操作都定义在Java控件中,页面流做为数据的逻辑处理单元,普通页面做为显示层。可以看出WebLogic这个方法是典型的三层结构,数据层(Jav…

python的实验报告怎么写_学号:20191221,《python实验设计》实验报告三

学号 2019-2020-2 《Python程序设计》实验三讲述课程:《Python程序设计》班级: 1912姓名: 何应霆学号:20191221实验西席:王志强实验日期:2020年5月16日必修/选修: 公选课1.实验内容建立服务端和…

eclipse juno_Eclipse Juno上带有GlassFish的JavaEE 7

eclipse junoJava EE 7很热。 前四个JSR最近通过了最终批准选票,与此同时GlassFish 4达到了升级版83。 如果您关注我的博客,那么您将了解NetBeans的大部分工作。 但是我确实认识到,那里还有其他IDE用户,他们也有权试用最新和最出色…