目录
#系统版本信息: (base) ubuntu@ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.6 LTS Release: 18.04 Codename: bionic |
实验室运行环境:
VirtualBox https://www.virtualbox.org/ |
服务器:Linux (Ubuntu 18.04 LTS)
网络设置:连接到互联网
在本实验室中,我们会介绍如何在基于 Linux 的虚拟机(如 Ubuntu)上建立机器学习 (ML) 环境。内容包括:Python、机器学习和深度学习软件包的设置以及虚拟环境的创建。此外,我们还会介绍在系统提供 GPU 支持的情况下,如何设置 GPU 加速软件。本实验室会介绍创建机器学习环境的基本步骤,你也可以纳入很多其他选项,但本实验室介绍的是简单且耐用的设置。假设你已安装了基本的 Ubuntu 操作系统。基本步骤包括:
-
创建一个虚拟环境并安装 Python
-
安装机器学习软件包
此外,我们也会介绍如何安装 GPU 加速软件(CUDA 和 cuDNN)
任务 1 安装 Python
首先,你需要检查系统上安装的当前 python 版本:
python --version #看一下系统安装的是不是 python 2.7 版本
python3 --version #查看安装的是 python 3.x 的哪个版本
sudo apt install python3 python3-pip python3-env
默认情况下,Linux Ubuntu 会安装 python 3.6 版本。为了使用更高版本的 python(如 3.7 版本),你可以执行以下操作:
1. 要想安装 python,你可以输入以下代码:
sudo apt update -y
sudo apt install python3.7
2.添加 python 3.6 和 python 3.7,以更新备选项:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
3.更新 python 3,以指向 python 3.7
sudo update-alternatives --config python3
你将看到下图(图 CS-ML-00001.1),通过在示例中选择 0 或 2,以选择 python3.7 作为与命令 python3 相对应的默认 python 版本 :
图 CS-ML-00001.1 用 update-alternatives 命令指定 python 的正确版本
4. 另一种方法是用符号链接来设置默认的运行 python 版本
你需要更新 python3,以指向 python3.7,因此 /usr/bin/python3 只是一个符号链接。你可以将其删除,并给 python3.7 设置一个新的符号链接:
sudo rm /usr/bin/python3
sudo ln -s python3.7 /usr/bin/python3
5. 现在,你可以检查 python3 的版本:
python3 --version
任务 2 安装 Anaconda
Anaconda 是 Python 和 R 编程语言的开源软件包管理器、环境管理器和发行版。这里,我们将指导你在 Ubuntu 18.04 虚拟机上安装 Anaconda。
1. 检索最新版本的 Anaconda
打开 网页浏览器,找到 Anaconda 发行版的页面,可访问以下链接:https://www.anaconda.com/distribution/。找到最新的 Linux 版本,并将链接复制到安装程序 bash 脚本。
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
2. 验证安装程序的数据完整性
通过 SHA-256checksum,用加密哈希验证来确保安装程序的完整性:
sha256sum Anaconda3-2022.05-Linux-x86_64.sh
3. 运行 Anaconda 脚本:
bash Anaconda3-2022.05-Linux-x86_64.sh
你也可以用 chmod 命令将脚本更改为“可执行”,然后再直接运行脚本。你将收到以下输出,通过按回车键查看许可协议,直到结束。你应该选择“yes”并按回车键。
欢迎使用 Anaconda3 2019.10 为了继续完成安装过程,请查看许可协议。 请按“回车键”继续 >>> … 你是否同意许可条款?[是|否] |
同意许可后,系统将提示你选择安装位置。你可以按回车键接受默认位置,也可以指定其他位置。例如,你可以将 Anaconda3 安装到以下位置:/home/ubuntu/anaconda3,其中 ubuntu 是系统中的用户名。
4. 安装完成后,你将收到以下输出,建议你键入 yes,以使用 conda 命令:
… 安装已完成。 你是否想让安装程序将 Anaconda3 的安装位置预先添加到 /home/sammy/.bashrc 中的 PATH?[是|否] [否] >>> |
5. 激活安装:你现在可以用下面的命令激活安装:
source ˜/.bashrc
6. 现在,你将在命令行提示符前面看到 (base) 。你可以用 conda 命令测试安装和激活:
conda list
通过 Anaconda 安装,你将收到所有可用软件包的输出。
7. 要控制各个 shell 会话是否激活了 base 环境,你可以运行:
conda create --name my_env python=3
8. 设置自己的 Anaconda 环境
你可以用 conda create 命令创建 Anaconda 环境。例如,名称为 my.env 的 Python 3 环境可以用以下命令创建:
conda create --name my_env python=3
9. 按如下方式激活新环境:
conda activate my_env
在命令行提示符之前,你将看到 (base) 更改为 (my_env) ,现在你就可以开始处理项目了。
10. 要更新 anaconda
你可以运行以下命令来更新 anaconda 文件:
#当你在用户环境中运行时,需要获取根模式以进行更新,并使用 n root 选项
conda update conda -n root
在这一步之后,你应该已准备好大多数常用的 anaconda 软件包。接下来,你可以通过运行以下命令来运行各种基于 Anaconda 图形的应用程序:
anaconda-navigator
你也可以运行图形 python 应用程序 — Spyder:
spyder
注意,如果你无法运行这些命令,则应检查运行路径,你也可以用以下命令来添加 anaconda 运行路径:
export PATH=/home/yourUserName/anaconda3/bin:$PATH
任务 3 安装机器学习模块
你需要安装一些常用的机器学习模块,用以运行与数据科学相关的项目。Anaconda 有最常用的机器学习数据分析和处理模块,如 Numpy 和 Pandas。你可以访问以下接:https://docs.anaconda.com/anaconda/packages/pkg-docs/,查看 Anaconda 中包含的软件包。但软件包中不包含 Kreas。
Keras 是一种高级神经网络 API,用 Python 编写,能够在 TensorFlow、CNTK 或 Theano 上层运行。开发该软件的重点是实现快速实验。如果你需要具备以下条件的深度学习库,则要用到 Keras:
- 可以简便、快速地进行原型设计(通过用户友好性、模块化和可扩展性)。
- 支持卷积网络和递归网络,以及两者的组合。
- 在 CPU 和 GPU 上无缝运行。
任务 4 机器学习 GUI 应用程序
Anaconda 会提供一个名为 Anaconda-navigator 的 GUI,用于管理多个基于 GUI 的机器学习应用程序。为了安装 anaconda-navigator,在运行anaconda Bash 安装脚本后,你可以运行以下命令:
conda update conda
conda update anaconda
接下来,你可以运行:
source .bashrc #加载已设置 anaconda 运行环境的 bash shell
anaconda-navigator
anaconda navigator 启动后,你可以看到几个图标,如 JupyterLab、Jupyter Notebook、Spyder、Orange 3、RStudio、VS Code 等。接下来,你可以单击 Spyder 来启动用于 python 编程和运行环境的 GUI 应用程序。你也可以直接通过命令行运行 Spyder:
spyder
现在,你可以从 GUI 应用程序打开任何 python 文件。加载文件后,请确保将控制台工作目录设置为图 CS-ML-00001.2 所示的该文件的路径。这样,你就不必给出整个路径,只需给出数据集文件的相对路径。
此时,你可以按 F5 或单击绿色三角形按钮来运行 python 代码,并在 spyder 应用程序控制台的右下方查看运行进度。
图 CS-ML-00001.2 Spyder 应用程序
相关信息和资源
- Python: https://www.python.org/
- Anaconda: https://www.anaconda.com/
- Spyder: https://www.spyder-ide.org/
Unbuntu卸载anaconda
1. 删除anaconda文件夹
也可以使用终端删除如下:rm -rf ~/anaconda3
一般情况他是放在主文件夹下的。
至于隐藏文件.anaconda 和.conda也可以不删除。 博主卸载的时候 将图中三个文件全部删掉。
2. 删除Anaconda的环境变量
终端输入sudo vim ~/.bashrc
将这个部分删除
3. 最后使环境变量更改生效:
source ~/.bashrc
Ubuntu Linux 环境变量PATH设置
1. Ubuntu Linux系统环境变量配置文件:
/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。
~/.profile : 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
2. PASH环境变量的设置方法:
方法一:用户主目录下的.profile或.bashrc文件(推荐)
登录到你的用户(非root),在终端输入:
$ sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
保存文件,注销再登录,变量生效。
该方式添加的变量只对当前用户有效。
方法二:系统目录下的profile文件(谨慎)
在系统的etc目录下,有一个profile文件,编辑该文件:
$ sudo gedit /etc/profile
在最后加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
该文件编辑保存后,重启系统,变量生效。
该方式添加的变量对所有的用户都有效。
方法三:系统目录下的 environment 文件(谨慎)
在系统的etc目录下,有一个environment文件,编辑该文件:
$ sudo gedit /etc/environment
找到以下的 PATH 变量:
PATH="<......>"
修改该 PATH 变量,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各个path之间用冒号分割。该文件也是重启生效,影响所有用户。
注意这里不是添加export PATH=… 。
方法四:直接在终端下输入
$ sudo export PATH="$PATH:your path1:your path2 …"
这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。
注 意:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此笔者推荐使用第一种方法。另外嵌入式 Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!!),以免因为操作不当导致系统严重错误。
下面是一个对environment文件错误修改导致的问题以及解决方法示例:
问题:因为不小心在 etc/environment里设在环境变量导致无法登录
提示:不要在 etc/environment里设置 export PATH这样会导致重启后登录不了系统
解决方法:
在登录界面 alt +ctrl+f1进入命令模式,如果不是root用户需要键入(root用户就不许这么罗嗦,gedit编辑会不可显示)
/usr/bin/sudo /usr/bin/vi /etc/environment
光标移到export PATH** 行,连续按 d两次删除该行;
输入:wq保存退出;
然后键入/sbin/reboot重启系统(可能会提示need to boot,此时直接power off)