在ubuntu或者min运行环境下安装gpu版本的tensorflow

本文详细介绍如何在Ubuntu系列操作系统上安装支持GPU的TensorFlow,包括禁用nouveau驱动、安装CUDA和cuDNN等关键步骤。

转载请注明出处:blog.youkuaiyun.com/sproll


本文描述在ubuntu系列操作系统上安装gpu版本的tensorflow的过程。


0,准备工作

BIOS中关闭板载显卡,显示器接在nvidia显卡上。

下载cuda和cudnn:cuda_8.0.44_linux.run, cudnn-8.0-linux-x64-v5.1.tgz

以上驱动为本文编写时的最新驱动。

1,安装linux

安装mint 18或者mint 18.1(也可以安装对应的ubuntu 16.04),并更新源。

具体操作步骤见网上的帮助文档。

2,禁止nouveau驱动

nouveau为非官方的开源nvidia驱动,默认情况下系统采用该驱动配合nvidia显卡。安装官方驱动前要先关闭该驱动。

在/etc/modprobe.d/blacklist.conf文件中添加:

blacklist nouveau

执行完毕后重启。此时电脑进入CPU模拟显卡输出视频的状态。

3,解决tty不能显示问题

设置tty显示参数,否则如果在quiet模式下即关闭xwindows,将导致黑屏。

在/etc/default/grub文件中,修改GRUB_CMDLINE_LINUX_DEFAULT的值为nomodeset

然后执行以下命令更新grub

sudo update-grub

执行完毕后重启。

4,关闭xwindows

安装显卡驱动必须先关闭当前xwindows。

执行以下命令关闭xwindows

sudo init 3

执行完毕后,如有需要,使用以下命令切换tty

Ctrl+alt+Fn

Fn为F1-F8的功能键。

5,安装cuda

cuda和cudnn为nvidia的支持库,tensorflow运行时需要它的支持。

执行cuda安装文件:cuda_8.0.44_linux.run,安装过程中需要回答一些问题,如果不明白问题的含义,可以对所有问题都选择acceptyes或者直接按回车(有时会提示选择某些组件的安装路径,按回车就是使用默认的路径)。

在安装cuda过程中,会提示是否选择安装nvidia驱动,一定要选择是。

6,安装cudnn

Cudnn包(cudnn-8.0-linux-x64-v5.1.tgz)解压后,将includelib64目录拷贝到/usr/local/cuda-8.0目录下。

7,安装python pippython dev

tensorflow需要python支持,执行以下命令行安装:

sudo apt-get install python-pip python-dev

8,安装tensorflow

根据phthoncuda版本,安装相应版本的tensorflow。本次安装的phthonV2.7cudaV8.0,相应的tensorflow版本为V1.0

在命令行中执行安装命令:

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.0-cp27-none-linux_x86_64.wh

其中,tensorflow的地址(https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.0-cp27-none-linux_x86_64.wh)在其github主页上有说明,不同的python版本、操作系统、是否使用GPU,都会对应不同的下载地址。

安装过程中,下载可能会失败,失败的话重新执行以上命令安装。

有时pip会因为版本过旧安装失败,失败时会提示执行更新pip命令:pip --upgrade pip

You are using pip version 8.1.1, however version 9.0.1 is available.

You should consider upgrading via the ‘pip --upgrade pip’ command.

然后继续重新安装tensorflow即可。

9,添加cuda路径

安装完成后,在用户目录下修改.bashrc文件(.bashrc为隐藏文件),添加以下两行,将cuda目录添加到环境变量的lib搜索目录中。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

export CUDA_HOME=/usr/local/cuda

10,测试tensorflow

输入以下文件内容,保存为hello.py文件。

import tensorflow as tf

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

sess = tf.Session()

print sess.run(hello)

a = tf.constant(10)

b = tf.constant(32)

print sess.run(a+b)

 

打开控制台,进入hello.py的目录,输入以下命令,运行python

python hello.py

如果输出以下内容表示tensorflow加载成功。

Hello, TensorFlow!

42

如下图所示:

 

 

 

<think>好的,用户想在Ubuntu系统中检查TensorFlow是否启用了GPU支持。我需要根据提供的引用资料,给出具体的步骤和方法。 首先,我应该回忆一下用户提供的引用内容。引用[1]提到在Ubuntu上使用Docker运行TensorFlow容器并启用GPU,命令中有--gpus all参数。引用[2]中用户遇到GPU利用率为0的问题,说明正确配置的重要性。引用[3]和[4]涉及不同版本TensorFlow-GPU安装,可能需要检查环境配置。 用户的问题是如何检测TensorFlow是否使用GPU。通常,在Python中可以通过tf.config.list_physical_devices('GPU')来检查是否有可用的GPU。但需要注意TensorFlow版本,因为不同版本的API可能有差异。例如,TensorFlow 2.x和1.x的代码可能不同。 另外,用户可能没有明确说明他们使用的TensorFlow版本,所以需要提供通用的方法,同时提醒版本差异。比如在较新的版本中,使用tf.test.is_gpu_available()可能已被弃用,转而使用tf.config.list_physical_devices()。 还要考虑系统层面的检查,比如nvidia-smi命令,查看GPU的使用情况。如果运行TensorFlow程序时,nvidia-smi显示GPU活动,则说明正在使用GPU。 此外,引用[2]中提到用户在使用TensorFlow 1.8时GPU未被利用,升级到2.9后可能解决了问题。这可能涉及到CUDA和cuDNN版本是否与TensorFlow版本兼容的问题。因此,可能需要建议用户检查这些依赖的版本是否正确。 总结步骤应该是: 1. 在Python中运行代码检查GPU是否被TensorFlow识别。 2. 使用nvidia-smi命令观察GPU活动。 3. 检查CUDA和cuDNN版本是否匹配TensorFlow版本的需求。 4. 通过TensorFlow日志或错误信息进一步诊断。 需要确保回答结构清晰,分步骤说明,并引用相关的参考资料,比如在检查CUDA版本时引用[3]中的安装步骤,或者在Docker环境中引用[1]的命令。 同时,用户可能需要知道如何安装正确的驱动和库,但问题仅限于检测,所以可能不需要详细安装步骤,但可以提及如果检测不到可能需要检查安装。 最后,生成相关问题,比如如何安装GPU支持,如何解决检测不到的问题,不同版本的影响等。</think>### 检查TensorFlow是否启用GPU支持的步骤 #### 1. 通过Python代码验证 在Python环境中运行以下代码,查看输出结果: ```python import tensorflow as tf # 检查GPU设备列表 print("可用GPU设备:", tf.config.list_physical_devices('GPU')) # 检查是否构建了GPU支持(适用于TensorFlow 2.x) print("GPU支持状态:", tf.test.is_built_with_cuda()) # 查看TensorFlow版本 print("TensorFlow版本:", tf.__version__) ``` - 如果输出显示可用GPU设备列表(如`/device:GPU:0`),则GPU支持已启用[^2] - 若输出为空列表,说明TensorFlow未检测到GPU[^3] #### 2. 使用系统命令监控 在终端执行以下命令观察GPU使用情况: ```bash # 查看NVIDIA驱动状态 nvidia-smi # 实时监控GPU利用率(需安装gpustat) watch -n 1 gpustat ``` 当运行TensorFlow程序时: - 如果`nvidia-smi`显示GPU内存占用和计算进程,说明GPU正在工作[^1] - 若GPU利用率始终为0,可能存在版本不匹配或配置错误[^2] #### 3. 检查版本兼容性 执行以下命令验证环境依赖: ```bash # 查看CUDA版本 nvcc --version # 查看cuDNN版本 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 # 查看NVIDIA驱动版本 nvidia-smi --query-gpu=driver_version --format=csv ``` 需确保: - TensorFlow版本与CUDA/cuDNN版本匹配(如TensorFlow 2.9需要CUDA 11.2+)[^2] - NVIDIA驱动版本≥CUDA要求的最低版本[^3] #### 4. 查看TensorFlow日志 运行Python代码时添加环境变量获取详细信息: ```bash TF_CPP_MIN_LOG_LEVEL=0 python your_script.py ``` 日志中若出现以下关键词表示GPU初始化成功: ``` Adding visible gpu devices: 0 Device interconnect StreamExecutor with strength 1 edge matrix: Created TensorFlow device (/device:GPU:0) ``` ### 常见问题解决方案 - **驱动未安装**:通过`ubuntu-drivers devices`检查并安装推荐驱动 - **CUDA路径错误**:在`~/.bashrc`中添加`export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH` - **Docker环境问题**:确保使用`--gpus all`参数启动容器[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值