如何在一台新装的Ubuntu机器上安装Python和Nvidia硬件驱动
创始人
2025-08-31 06:09:17
0

选自媒体

机器之心合辑

参与:吕雪、李泽南

搭建好深度学习机之后,接下来要做的就是搭建一个完整的开发环境。 本文将向您解释如何在新安装的 Ubuntu 机器上安装 Python 和 Nvidia 硬件驱动程序、各种库和包。

对于强化学习研究,我最近获得了一台基于 Ubuntu 和 Nvidia GPU 的深度学习机器。 虽然网上可以找到一些环境部署手册,但是没有比较全面的安装说明。 此外,我不得不阅读大量文档以试图了解安装细节——其中一些不完整,甚至包含语法错误。 因此,本文试图解决这个问题,并提供了详细的软件环境安装手册。

本文将指导您安装

这些软件之间的相互依赖关系如右图所示。 其中,你只需要安装一个深度学习库,请自由选择。

ubuntu软件安装教程_ubuntu 14.04 安装教程_ubuntu安装软件教程

深度学习软件安装及依赖关系示意图

各个软件的详细信息如下:

Ubuntu (v16.04.3) - 操作系统,各种任务处理。

NvidiaGPU 驱动程序 (v375) - 允许系统通过 GPU 加速。

CUDA (v8.0) - GPUC 语言库。 “计算相同的设备架构”。

cuDNN (v6.0.21) - 基于 CUDA 的深度学习原语库。 “CUDA 深度学习库”。

pip (v9.0.1) - Python 安装包。 “pip安装包”。

TensorFlow (v1.3) - 由谷歌开发的深度学习框架。

Theano (v0.9.0) - 之前由 MILA 维护的深度学习框架。

CNTK (v2.2) - 由 Microsoft Research 开发的深度学习框架。

Keras (v2.0.8) - 具有可互换前端的深度学习包装器。 适用于 TensorFlow、Theano 和 CNTK。

PyTorch (v0.2.0) - 一个可以通过 GPU 加速的动态图深度学习框架,主要由 Facebook 研究人员开发。

1、安装Ubuntu16.04.3

v16.04.3 可从 USB 启动,并且是最新的 LTS(长期支持)版本。 当您第一次在笔记本电脑上启用它时,请在 BIOS 中选择从 USB 启动。

我的笔记本电脑中有两个硬盘驱动器 - 一个 1TB SATA 和一个 256GB SSD。 在我的设想中,Ubuntu 安装在普通硬盘上,固态硬盘(SSD)用于处理数据集和加速训练。 安装过程中,在屏幕上的InstallationType中选择Somethingelse,之后我们要进行三个分区操作:

安装完成后,最好先运行以下命令升级内核版本。

  1. sudo apt-get update

  2. sudo apt-get upgrade

参考:#0

2.安装NVIDIA GPU驱动

安装Ubuntu后,你可能会发现屏幕的帧率不对,但无法更改。 这是因为尚未安装 GPU 驱动程序。

有两种安装驱动程序的方法:从 Ubuntu 存储库和从数据源。 第一种方法更简单,但需要经常重新安装。 使用sudoapt-getupdate和sudoapt-getupgrade命令后,可以手动升级系统内核。 但这不会更新 Nvidia 驱动程序,这可能会导致 GUI 无法正确加载。 从数据源安装可防止出现此问题。

从安装包中安装v375驱动(简单方法)

以下命令将显示与您的系统兼容的驱动程序版本。 它会提供两个版本号:最新不稳定版和常年稳定版。 版本号将从头开始列出,因此您需要滚动到页面顶部。

  1. sudo add-apt-repository ppa:graphics-drivers/ppa

添加并安装存储库。 使用第二个命令,更改您要安装的内容。 我们建议在这里安装最新的常年稳定版本——版本 375。

  1. sudo apt-get update

  2. sudo apt-get install nvidia-<driver_number>

重新启动计算机以重新配置视频输出。

  1. sudo shutdown -r now

为了测试驱动程序是否正常工作,ScreenDisplay(SUPERKEY, Screen Display Type) 现在应该可以识别您正在使用的显示器ubuntu安装软件教程,并且您可以更改设置、分辨率和方向。

参考:~graphics-drivers/+archive/ubuntu/ppa

从 Nvidia 网站安装 v384.90(硬方式)

从 NVIDIA 网站下载最新的驱动程序版本。 根据硬件配置,我选择的选项是:

GeForce->GeForce10Series->GeForceGTX1080->Linux64bit->English(UK)

可选:编译为 32 位框架和 GUI 开发版本。

  1. sudo apt-get install gcc-multilib xorg-dev

按 CTRL+ALT+F1 登录并从 GUI 转到终端。 为了重建视频输出,必须先暂停它。

  1. sudo service lightdm stop

如果命令行不起作用,较新版本的 Ubuntu 使用 systemctl 而不是 lightdm。 之后使 runfile 可执行,然后运行它。

  1. cd <download location>

  2. chmod +x NVIDIA-Linux-x86_64-384.90.run

  3. sudo ./NVIDIA-Linux-x86_64-384.90.run --dkms

运行时,您可能会收到预安装脚本失败的消息。 这无关紧要,因为预安装脚本包含命令 exit1,其目的是确保您确实要安装驱动程序。

选项 --dkms(默认打开)在内核更新时将驱动程序安装到模块中,防止重新安装驱动程序。 在内核更新期间,dkms 触发驱动程序重新编译为新的内核模块堆栈。

如果安装失败,原因是计算机的BIOS没有关闭SecureBoot。 重启笔记本,在BIOS选项中关闭SecureBoot。

如果安装成功,您可以重新启动 GUI。

  1. sudo service lightdm start

卸载:sudo ./NVIDIA-Linux-x86_64-384.90.run --uninstall

核实

确保以下命令识别正确的 GPU 版本

  1. nvidia-smi

确保驱动程序版本号与您安装的相匹配

  1. cat /proc/driver/nvidia/version

3.安装CUDA8.0

从 NVIDIA 网站,使用以下系统属性下载 CUDA 运行文件(地址:)。

Linux->x86_64->Ubuntu->16.04->.deb(网络)

导航到 .deb 文件的位置后,提取文件,更新包列表,然后使用以下命令安装 CUDA。

  1. sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb

  2. sudo apt-get update

  3. sudo apt-get install cuda

将库添加到 bashpath,以便其他应用程序可以找到它。

  1. echo 'export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}' >> ~/.bashrc

  2. echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

  3. source ~/.bashrc

验证时,使用 nvcc -V 确保 NvidiaCCompiler (nvcc) 版本与 CUDA 匹配。

重启笔记本 sudoshutdown -rnow 完成安装。

可选:测试 CUDA 安装

测试安装的一种方法是运行一些示例。 以下命令行创建一个 test_CUDA 目录,其中存储示例程序。

  1. mkdir test_CUDA

  2. cd test_CUDA

  3. ./cuda-install-samples-8.0.sh .

在 NVIDIA_CUDA-8.0_Samples/3_Imaging/cudaDecodeGL 子目录中是 findllib.mk 文件。 此文件的第 61 行第 30 列包含 Nvidia 驱动程序的硬编码值,应将其从 367 更改为您安装的驱动程序的版本号。

编译示例

  1. cd ../.. && make

您现在可以自由运行 NVIDIA_CUDA-8.0_Samples 中的示例。 您可以在 NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release 中找到两个特别有用的脚本:./deviceQuery 在使用过程中复制 GPU,而 ./bandwidthTest 复制其带宽。

参考:

4.安装cuDNN6.0.21

在 NVIDIA 网站上注册开发者计划,同意条款。 在下拉菜单中选择cuDNNv6.0.21(April27,2017),for CUDA8.0,下载:

cuDNNv6.0RuntimeLibraryforUbuntu16.04(Deb)

cuDNNv6.0DeveloperLibraryforUbuntu16.04(Deb)

cuDNNv6.0CodeSamplesandUserGuideforUbuntu16.04(Deb)

.deb 优于 .tar,因为 .deb 格式更适合 Ubuntu,允许更干净的安装。 使用以下命令安装这三个包:

  1. sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb

  2. sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb

  3. sudo dpkg -i libcudnn6-doc_6.0.21-1+cuda8.0_amd64.deb

test-cuDNN

将安装的示例复制到可读目录,然后编译并运行 mnistCNN。

  1. cp -r /usr/src/cudnn_samples_v6/ $HOME

  2. cd $HOME/cudnn_samples_v6/mnistCUDNN

  3. make clean && make

  4. ./mnistCUDNN

如果一切顺利,脚本应该返回 Testpassed! 信息。

卸载cudnn

使用以下命令卸载这三个库。 此外,如果您已经创建了示例,请添加 rm -r ~/cudnn_samples_v6。

  1. sudo apt-get remove libcudnn6

  2. sudo apt-get remove libcudnn6-dev

  3. sudo apt-get remove libcudnn6-doc

参考:cuDNNInstallationGuidecuDNNInstallationGuide()

5.安装pip9.0.1

pip升级非常频繁,几乎每两周一次,建议使用最新版本的pip。

请使用以下命令安装和升级最新版本的 pip。

  1. sudo apt-get install python-pip python-dev

  2. sudo pip install --upgrade pip

验证:请确保输入pip -V后可以复制出版本号。

6.安装Tensorflow1.3.0

  1. pip install tensorflow-gpu

验证:启动$python,确认以下脚本是否可以打印Hello, Tensorflow!

  1. import tensorflow as tf

  2. hello = tf.constant('Hello, TensorFlow!')

  3. sess = tf.Session()

  4. print(sess.run(hello))

参考:

7.安装Theano0.10

Theano所需的系统环境:

  1. sudo apt-get install libopenblas-dev cmake git

据悉,还必须遵守Python的系统要求。

  1. sudo pip install numpy scipy nose sphinx pydot-ng pycuda scikit-cuda cython

libgpuarray使Theano能够使用GPU,必须从源码编译。首先下载源码

  1. git clone https://github.com/Theano/libgpuarray.git

  2. cd libgpuarray

将其编译到名为 Build 的文件夹中。

  1. mkdir Build

  2. cd Build

  3. cmake .. -DCMAKE_BUILD_TYPE=Release

  4. make

  5. sudo make install

然后将其编译成 Python 包。

  1. cd ..

  2. python setup.py build

  3. sudo python setup.py install

将以下行添加到 ~/.bashrc 以便 Python 可以找到该库。

  1. export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

最后,安装Theano

  1. sudo pip install git+https://github.com/Theano/Theano.git#egg=Theano

验证:创建测试文件test_theano.py,内容复制自:#testing-theano-with-GPU

然后使用GPU后查看THEANO_FLAGS=device=cuda0pythontest_theano.py是否成功。

参考:Theano0.9.0文档()

8.安装CNTK2.2

  1. sudo pip install https://cntk.ai/PythonWheel/GPU/cntk-2.2-cp27-cp27mu-linux_x86_64.whl

验证:输入python -c "importcntk;print(cntk.__version__)",输出2.2。

参考:SetupCNTKonyourmachine()

9.安装Keras2.0.8

  1. sudo pip install keras

验证:检查 $python 中的 importkeras 是否成功。

参考:KerasInstallation (#installation)

10.安装PyTorch0.2.0

PyTorch 运行在两个库上:torchvision 和 torch,我们需要像这样安装它:

  1. sudo pip install http://download.pytorch.org/whl/cu80/torch-

  2. 0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl

  3. sudo pip install torchvision

验证:以下脚本只是复制出一个带有随机初始浮点数的张量。

  1. from __future__ import print_function

  2. import torch

  3. x = torch.Tensor(5, 3)

  4. print(x)

参考:

推理

到目前为止,整个过程中最难的部分是弄清楚 Nvidia 驱动程序和深度学习包之间的依赖关系,以及最高效的常年安装过程。 最简单的部分是安装 Python,包和文档都得到了很好的维护。

虽然阅读文档和源代码可能很耗时,但了解每个包的构建方式和功能尤其具有启发性ubuntu安装软件教程,它可以帮助我们了解整个 Ubuntu 生态系统。

希望本文对您有所帮助。

原文链接:@dyth/deep-learning-software-installation-guide-d0a263714b2

相关内容

热门资讯

如... 对于音箱用户,尤其是刚刚入门且非常感兴趣的用户来说,总有一个词“烧机”。 虽然这个比较容易理解,但是...
我... 很多网友还喜欢问我玩这个游戏能赚钱吗? 你赚到钱就一定能赚到钱玩游戏赚钱软件,就看你用什么方式赚钱,...
P... 前言我们的目标是杀掉网店或者易迅等的订单,这里有几个关键点。 首先,您需要登录网上商店或易迅。 其次...
煲... 点击标题下“耳机与生活”快速关注前言:我们的帖子里好像没有这方面的文章,所以我改进了之前的文章,重新...
存... 近期靠谱利息低的贷款软件,各种存款利率下调的信息充斥屏幕。 先是3家股份制建设银行下调了存款利率,随...
哈... 布局哈喽自行车、助力车、网约车、出租车等产品,先后获得蚂蚁、复星、GGV投资,成为本地出行生活服务平...
全... 综合教程 12种屏幕录制方法大全屏幕录制在很多地方都有用cs录屏软件教程,我也尝试过很多屏幕录制的方...
班... 1.Bendy屏幕录制:屏幕录制圆形窗口教程1. 选择“循环窗口”录制模式。2. 单击“[●REC]...
电... 2017年,广州市共取缔限行、超速、挤线、违章停车等交通违法行为600万起。 不仅有警察现场执法,还...
惠... 惠普作为一家外资企业,在国外电脑市场上已经得心应手,其产品和定价都非常值得称道。 几年前,惠普推出了...
“... 一万周近期,四川省阳江市消委会接到大量美容纠纷投诉,主要表现为诱导高额房贷、虚假宣传产品功效、美容预...
淘... 首先要了解钻孔的好处1、流量减少。相比于一线店铺,天猫会支持店面一段时间。 如果销量和评论保持平衡淘...
图... 本次分享内容仅为西门子PLCS7200系列编程软件及学习教程。 S7200是西门子的早期版本,现在...
美... 天气阴沉,雾霾这么严重如果手机上没有一些应用程序,我就没有心情自拍阿苏其实知道你又漂亮又可爱我只想满...
智... 下载高清、超高清视频,然后通过本地播放的方式观看,成为了很多对高清有要求的人的选择。 在线观看高清视...
海... 导读:《“数字经济+科技向善”金融科技创新实践2021》选自《第二届NIFD-DCITS金融科技创新...
全... 文/B12阿克西姆当我14岁的时候,我不会想到,仅仅一年后,我在上海的生活每天都离不开打车软件。 这...
中... 随着人工智能的全面发展,越来越多的企业正在考虑如何利用技术帮助产品运营,为用户呈现更多惊喜的内容。 ...
多... 5月15日,多家建行上调通知存款、协议存款利率,部分建行“正式宣布”暂停销售智能通知存款产品。据了解...
影... 你知道哪些影视后期制作软件?什么样的?无论你是正式转行、准备学习还是学生,在影视后期制作阶段学习软件...