首页 > 其他分享 >tensorflow-GPU环境搭建

tensorflow-GPU环境搭建

时间:2024-01-17 21:46:23浏览次数:31  
标签:版本号 驱动 cuda GPU tensorflow 安装 搭建

KnockHarder的主页

最近在学习AI相关知识,需要使用 gpu 运行 tensorflow 代码,选择在腾讯云上搭建环境

要点总结

1 版本号对齐

安装 tensorflow 与 GPU 支持需要对齐以下软件的版本号(按依赖顺序排列):

  • GPU 驱动版本号
  • CUDA 版本号
  • cudnn 版本号
  • tensorflow 版本号

由于 tensorflow 位于最下游,因此更新时机最晚,因此实际安装时应从 tensorflow 的版本号反向推导上游的版本号信息。 各软件包的版本号可以参见 tensorflow 的官方网站

Alt text

GPU驱动的版本号,可以通过驱动下载页查看。 需要找到适配目标CUDA版本的驱动版本

Alt text

2 环境安装

2.1 使用腾讯云自动安装环境

在腾讯云上创建 GPU 实例时,可以选择 GPU驱动、cuda、cudnn版本号,在实例启动后自动安装。需要注意的是腾讯云默认的版本号并没有对齐, 需要自动调整需要的版本号

Alt text

这里我们的操作系统选择了 20.04 而不是最近的 22.04 ,就是因为 22.04 的 GPU 驱动最低支持的 cuda 版本是 11.7 , 与 tensorflow 的 cuda 版本不匹配

环境安装好后,按安装手册中的描述,使用 pip 安装 tensorflow 即可

pip install tensorflow==2.4.0

2.2 手动安装环境

本次安装的目标版本如下表

python tensorflow cudnn cuda nvidia driver
3.9 2.6.0 8.1 11.2 460.106.00

a.安装 N 卡驱动

安装手册中说明安装驱动。 需要注意的是安装手册中的驱动安装命令,需要替换成你需要的驱动版本

sudo apt-get -y install cuda-drivers-460

由于ubuntu 系统安装后,有默认的驱动,在安装 Nvidia 驱动后禁用默认驱动nouveau: 打开/etc/modprobe.d/blacklist.conf文件,并添加以下内容:

blacklist nouveau
options nouveau modeset=0

然后重启服务器,并输入nvidia-smi命令,当出现以下输出时,说明 nvidia 驱动已启用

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.106.00   Driver Version: 460.106.00   CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:08.0 Off |                    0 |
| N/A   33C    P8     9W /  70W |      4MiB / 15109MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1454 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+

b.安装 cuda

安装手册描述安装cuda,同样的安装命令需要替换成目标版本。

sudo apt install cuda-toolkit-11-2

cuda 的安装时间比较长,为避免断开连接,可以使用 tmux 管理会话

c.安装 cudnn

安装手册描述安装 cudnn。 cudnn 的可用版本号可以通过apt-cache命令查看,然后选择对应的版本

apt-cache madison libcudnn8 | grep 11.2
cudnn_version=8.1.1.33 && cuda_version=cuda11.2

d.安装 tensorflow

安装手册中的描述创建虚环境,并安装 tensorflow。

pip install tensorflow==2.6.0

3 检查环境安装结果

安装 tensorflow

pip install tensorflow==2.4.0

执行 python 代码

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

得到以下输出,说明环境安装成功

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

标签:版本号,驱动,cuda,GPU,tensorflow,安装,搭建
From: https://www.cnblogs.com/channingwong/p/17971210

相关文章

  • jax框架的 Pallas 方式的GPU扩展不可用
    说下深度学习框架的GPU扩展功能的部分,也就是使用个人定制化的GPU代码编写方式来为深度学习框架做扩展。深度学习框架本身就是一种对GPU功能的一种封装和调用,但是由于太high-level,因此就会摒弃掉一些原有的GPU底层的编程功能,为此可以使用GPU原始功能的代码来为深度学习编写扩展函......
  • 利用nginx搭建rtmp流服务器
    1、RTMP介绍RTMP全程RealTimeProtocal(实时小时传输协议)。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS、RTMPE等多种变种协议。RTMP是是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数......
  • 为什么GPU比CPU更适合人工智能计算?
     人工智能模型,也称为神经网络,本质上是一个数学千层面,由一层又一层的线性代数方程组成。每个方程都表示一段数据与另一段数据相关的可能性。就其本身而言,GPU包含数千个内核,微型计算器并行工作,以切开构成AI模型的数学。从高层次上讲,这就是人工智能计算的工作原理。作为加速机器学......
  • Eureka----服务搭建,服务注册,服务发现
    Eureka----服务搭建3步走: Eureka----服务注册  Eureka----服务发现 总结:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......
  • Linux-搭建内网yum源
    服务器:CentOS7YUM源:阿里云空间要求:CentOS6+CentOS750G,考虑后期更新预留,LVS空间100G1、在服务器配置CentOS7的yum源和CentOS6的yum源#Centos7[base7]name=CentOS-$releasever-Base-mirrors.aliyun.comfailovermethod=prioritybaseurl=http://mirrors.aliyun.com/cent......
  • Linux --CentOS系统中 使用Vscode调试shell bash脚本 环境搭建基本步骤
    Linux--CentOS系统中使用Vscode调试shellbash脚本环境搭建基本步骤操作系统:Linux--CentOS.step1:在Vscode中安装BashDebug Step2:创建一个名字为123.sh的shell脚本;输入123.sh,回车: ​​​​​​Step3:编辑简单的待打印的内容,如下: Step4:配置编译器修改......
  • HarmonyOS4.0系列——01、下载、安装、配置环境、搭建页面以及运行示例代码
    HarmonyOS4.0应用开发安装编辑器这里安装windows版本为例安装依赖打开DevEcoStudio这八项全部打钩即可开始编写代码,如果存在x,需要安装正确的库即可开发点击CreateProject选择默认模板——nextModel部分分为Stage和FA两个应用模型,FA是支持7版本以内的模型支持JS和TS,而Stage支持最......
  • Hadoop集群搭建
    Hadoop集群搭建1、服务器配置服务器名称配置master2C2Gslave12C2Gslave21C2G1.1修改主机名#Centos永久修改主机名命令hostnamectlset-hostnamemaster1.2主机映射vim/etc/hosts#需要设置的服务器:ip为内网,其他服务器:ip为外网172.16.0.3mas......
  • nginx如何搭建集群
    搭建Nginx集群的主要目的是为了提高网站的可用性、负载均衡以及处理高并发请求。以下是一个简化的步骤,说明如何搭建一个基本的Nginx服务集群:基本Nginx集群搭建步骤:硬件与环境准备:准备多台服务器(例如,server1, server2,...),确保它们都安装了Linux或类Unix操作系统。保证所有服务器......
  • Linux篇---ftp服务器的搭建
    一、前述企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结。二、具体1、显示如下图则表示已安装vsftp软件。如果未显示则需要安装vsftpd软件。如果没有则通过yarm源进行安装yuminstall-yvsftpd2、安装完成之后进入到ftp的......