基于WIN10的64位系统演示

一、写在前面

从这一期开始分享基于深度学习图像识别的学习笔记和代码,相比于之前的ML分类模型,图像识别的门槛会更高,包括硬件方面、代码复杂度和基础理论知识等。同样,首先把必要的深度学习框架(类似做ML分类,要依赖sklearn包)安装好,然后就无脑撸代码。

深度学习框架提供了丰富的工具和库,以支持深度学习模型的开发和训练。目前深度学习的几个主要框架:

(1)TensorFlow(谷歌开发):TensorFlow是一个广泛使用的开源深度学习框架,提供了丰富的工具和库,可用于构建各种类型的神经网络模型。它拥有强大的计算图和自动求导功能,并提供了高级抽象层,如Keras,使得模型的开发和训练变得更加简单。

(2)PyTorch(Facebook开发):PyTorch是另一个广受欢迎的开源深度学习框架,它采用动态图的方式进行计算,使得模型的构建和调试更加灵活和直观。PyTorch提供了丰富的神经网络模块和优化算法,并且在研究领域得到广泛应用。

(3)Keras:Keras是一个高级神经网络API,它能够以TensorFlow、PyTorch等作为后端框架进行计算。Keras的设计理念是用户友好和模块化,使得模型的构建和训练变得简单快捷。

这里我使用的是TensorFlow + Keras

二、TensorFlow-gpu环境配置

1. Anaconda安装

跟之前的教程一样的操作,这里放一个传送门即可,大家自行穿越。

2.Cuda和Cudnn的安装

要在TensorFlow中使用GPU,需要安装CUDA和cuDNN。听说过比特币挖矿机不?其实就是依赖显卡中的GPU。TensorFlow也有CPU版本,但是运行速度慢,不建议装。

CUDANVIDIA开发的一种并行计算平台和API。它允许开发人员使用NVIDIA的GPU进行通用计算。在我们的情况下,TensorFlow可以利用CUDA来有效地在GPU上执行深度学习计算。

cuDNN是CUDA深度神经网络库,是NVIDIA提供的一种GPU-accelerated库,用于深度学习。它包含一些针对深度神经网络的高性能原语(如卷积,池化等)。TensorFlow利用cuDNN来优化在GPU上执行的一些操作,从而提高计算效率。

请注意!!!这里需要特别注意硬件和软件的匹配问题!!!

(1)你的电脑显卡是否支持CUDA

(a)计算机右键->设备管理器->显示适配器,出来的就是你的显卡型号,比如我的是NVIDIA GeForce GTX 970显卡(献丑了,用了7年)

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

(b)上英伟达官网(传送门),看看你的显卡是不是在里面,是就可以用,第二列是计算力,比如我的是5.2,辣鸡了。

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

 

(2)查看显卡的Driver Version,用于选择适合的CUDA版本。

(a)打开终端,输入命令:

cd C:\Program Files\NVIDIA Corporation\NVSMI
nvidia-smi

可以看到Driver Version为516.40,这里我装了CUDA了,所以显示出版本号。

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

(b)根据Driver Version为516.40,对照下表,确定你的电脑硬件支持的最高CUDA版本,网址如下:传送门

可以看到哈,最高可以安装的是CUDA 11.8.x版本。

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

然后在这个网址,下载合适的CUDA安装即可,默认路径安装就好。网址如下:传送门

(3)根据CUDA版本选择TensorFlow版本和cuDNN版本。

(a)不同版本的TensorFlow需要不同版本的CUDA和cuDNN,这些信息可以在TensorFlow的官方网站上找到,网址如下:传送门

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

这就有点尴尬,CUDA最高只到11.2版本,那么我的11.7版本咋办,经过我测试,我这么配置:TensorFlow-2.6,CUDA 11.7,cuDNN 8.1可行。此外,TensorFlow-2.x自带Keras,不用再另外安装。

(b)安装cuDNN

打开Anconda终端,输入代码:

conda install cudnn=8.1

回车安装。

血泪史:当初我没选择版本,直接conda install cudnn,二话不说,干到了最新版本的cuDNN,然后悲剧了。

3.TensorFlow-gpu的安装

(1)创建新的环境

打开Anaconda Prompt,键入以下命令以创建一个新的环境,例如我们创建一个名为"tf2.6"的环境,同时指定Python版本为3.9(你可以根据需要选择其他版本):

conda create -n tf2.6 python=3.9

(2)激活新环境

创建新环境后,你需要激活这个环境,命令如下:

conda activate tf2.6

(3)安装TensorFlow-gpu

在新的环境中,你可以通过以下命令安装TensorFlow-gpu:

conda install tensorflow-gpu==2.6.0

这将自动为你安装最新版本的TensorFlow-gpu的2.6版本和所有必要的依赖项。

(3)验证TensorFlow-gpu

要验证TensorFlow-gpu是否安装成功,你可以打开Python并尝试导入tensorflow模块,然后检查其版本:

python #进入python程序
import tensorflow as tf #导入tensorflow
print(tf.__version__) #输出tensorflow的版本号

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

恭喜你,安装成功了!!!

4.如果安装失败

大概率是显卡、Anaconda、python、Cuda、Cudnn、Tensorflow-gpu/cpu以及Keras之间的爱恨情仇(版本)的问题,慢慢排查,慢慢尝试,总会成功的,毕竟我搞了好几天才行。

三、写在最后

我没说错吧,相比于单纯的ML,装个Anaconda和sklearn包就可以运行,深度学习的环境配置起来更复杂,不过琢磨几天一般也能搞定。最难的是,你得有一块好显卡,A100就算了,来个4090吧。

第36步 深度学习图像识别:TensorFlow-gpu环境配置-LMLPHP

哈哈哈,开玩笑,按需配置。希望大家配置环境都顺利,下期有缘再见哈!

06-12 15:49