我现在正在学习在我的笔记本电脑(Lenono T440s)上使用 tensorflow 和 keras。
因为我的笔记本电脑有 nvidia 730m 显卡,所以我想使用我的 GPU 进行深度学习。
不幸的是,当我尝试安装 nvidia 驱动程序和 cuda 时遇到了很多问题。
首先,最好提供更多关于我如何安装 ubuntu 的信息。我使用的是双操作系统(Windows 和 ubuntu)。由于我的笔记本电脑最初安装了 Windows 10,因此我禁用了安全启动。之后,我在上面安装了 ubuntu。
然后,我运行:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
然后我在附加驱动程序页面中安装了 nvidia 驱动程序 375(或其他版本)。不幸的是,在 nvidia 配置中,我重新启动后它什么也没有显示。但是,在附加驱动程序页面中确实勾选了驱动程序 375 的框。
看来我的系统无法检测到 nvidia。
其次,我尝试安装 cuda 8.0。但是无法安装 cuda 工具包。
我只发现/usr/local/cuda8.0/
创建了一个目录,但没有/usr/local/cuda/
。
我尝试了很多方法来安装驱动和 cuda。但总是失败。
我真的不知道如何安装它。我真诚地希望有人能帮助我。
以下是我的笔记本电脑的一些信息:
联想 ThinkPad T440s CPU i-7 4006U 8 GM RAM Nvidia GeForce 730M
答案1
如何知道我的笔记本电脑是否符合 TensorFlow-with-GPU 资格?
您的笔记本电脑必须具有与 NVIDIA CUDA 兼容的显卡。GeForce GT 730M可以。
如果您想亲自检查,可以访问 NVIDIA 网站。
NVIDIA 专有驱动程序安装
现代笔记本电脑配备 NVIDIA 显卡时通常配备 Optimus 技术。什么是 Optimus 技术?这意味着您的笔记本电脑实际上有 2 个图形芯片:第一个位于主板上,靠近 CPU。我们将其称为“英特尔芯片”。第二个位于您的 NVIDIA 卡上。默认情况下,在 Ubuntu 16.04 上不使用 NVIDIA 卡。您必须安装特定的驱动程序才能使用它。
我们可以在两种类型的驱动程序之间进行选择:免费驱动程序和专有驱动程序。我没有使用过免费驱动程序,所以我们将使用专有驱动程序。
安装它们非常简单:
- 转到系统设置
- 转至软件和更新
- 单击“其他驱动程序”选项卡
- 稍等一下
在我的笔记本电脑上,有: NVIDIA 驱动程序
我们可以看到 NVIDIA 二进制驱动程序未被使用。要修复它:
- 单击使用 NVIDIA 二进制驱动程序,然后单击应用更改,然后输入您的密码。
- 稍等一下
- 单击重新启动…
您现在可以使用 NVIDIA 显卡了。
一件重要的事情:在 Windows 上,Optimus System 会在需要时自动从 Intel 显卡切换到 NVIDIA 显卡。Intel 显卡性能较低,但功耗也较低。NVIDIA 显卡性能较高,但功耗也较高。
在 Ubuntu 上,您必须使用名为 PRIME 的工具自行从一个芯片切换到另一个芯片。
为了做到这一点:
- 打开软件NVIDIA XServer 设置
- 前往 PRIME 简介
- 选择NVIDIA(性能模式)或者英特尔(省电模式)
- 输入您的密码,然后注销并登录。(请注意,您不需要重新启动!)
笔记:有一个名为 Bumblebee 的系统,它能够自动切换 NVIDIA Optimus 技术,英特尔并且无需手动配置 NVIDIA 芯片,就像在 Windows 上一样。我们不会在本回答中讨论这个问题。
现在,让我们检查一下是否可以使用 NVIDIA GPU。
NVIDIA GPU 测试
为了确保我们使用的是 NVIDIA GPU,我们将使用工具 glxgear。
在终端中输入:
$ glxgear
您应该看到旋转的齿轮。
- 打开软件NVIDIA XServer 设置
- 点击线 GPU , –, 在哪里和取决于你的系统(在我的系统上,它是GPU 0 – (GeForce 940MX))。
- 检查 GPU 利用率行。它应该接近 100%。如果关闭 glxgear,GPU 利用率应该会显著下降。
cuDNN 安装
去NVIDIA cuDNN网站,然后点击下载按钮。您可能需要注册(免费)。
下载最后一个适用于 Linux 的 cuDNN 库,并提取下载的档案。
复制内容包括目录中/usr/local/cuda/包含. 复制lib64目录中在 /usr/本地/cuda/lib64。
并在末尾添加.bashrc文件(在您的主文件夹中)包含以下行:
export LIBRARY_PATH=/usr/local/cuda/lib64:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH