admin管理员组

文章数量:1567915

大家好,我是Mr数据杨。就像三国时代的各个王国选择了最适合的战略,首先需要做的是Python版本的选择。这就像当时的曹操、刘备、孙权需要选择合适的战略,是否积极扩张还是先稳固自身的基础。同样地,选择最适合的Python版本是第一步。

接着来到了NVIDIA配置流程。这有点像诸葛亮给蜀国建立了一套完善的规章制度。也需要配置好硬件环境,让Python可以在NVIDIA显卡上顺畅运行,发挥出最大的潜能。

再来看看Tensorflow配置流程。想象一下,就像诸葛亮设下的八阵图,烧破曹操的草船借箭之计需要了解如何安装和配置Tensorflow,让它在神经网络训练上提供强大的支持。

最后将通过Tensorflow GPU验证,确保一切配置良好。就像刘备在赤壁之战后确认他的军队已经准备好迎接新的挑战,也要确保Tensorflow已经成功地在GPU上运行。

这就是Python学习笔记教程的精髓,将会用一个有趣的方式,将这些技术融入到我们的学习过程中。让我们开始这个旅程,像三国的英雄们一样,一步步征服这个数据的世界。

文章目录

  • Python 版本选择
  • NVIDIA 配置流程
  • Tensorflow 配置流程
  • Tensorflow GPU验证

Python 版本选择

建议直接安装Anaconda,选择自己需要版本即可。也可以直接前往 Python 官网 下载 Python 3.x 的安装包。运行安装程序并按照提示进行安装。在安装过程中,请确保勾选“Add Python to PATH”选项,以便在系统环境变量中添加 Python。

NVIDIA 配置流程

设置显卡开发者模式,按照图中显示配置即可。

确认NVIDIA显卡系统信息,自己要记不住用个小本本记录一下 12.1.68 这串数字就可以了。

安装 cuda,点击 NVDIA官网下载,选择对应的版本。例如之前的显卡版本信息是 12.1.68 则选择 12.1.x 即可以此类推。

点击下载选择安装程序,该程序和之前的必备程序对应。

下载完之后点击安装安装就行了。

点击程序解压到任意位置,安装后临时文件会自动清除,进入安装程序一直点下一步默认安装就行了。

cuDNN安装,点击 NVDIA官网下载,选择对应的版本。这个地方要注册,使用QQ或者微信联合登录即可。选择刚才的CUDA版本,下载压缩包。

下载完之后解压缩该文件夹打开即可。

解压下载的 cuDNN 压缩包,并将解压后的文件(包括 cuda\bin、cuda\include 和 cuda\lib 目录下的文件)复制到目录 xxxx\NVIDIA GPU Computing Toolkit\CUDA\v12.1 目录下。

cuda 、cuDNN 环境配置,复制下面的内容到环境变量即可。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include

Tensorflow 配置流程

cuDNN、CUDA、Python版匹配,点击 tensorflow官网,页面拉到最下面。直接跳过CPU部分。

Tensorflow gpu 2.4.0 安装,命令行执行pip install tensorflow-gpu==2.4.0命令进行安装,这里的版本号要根据自己的系统环境匹配确定。

pip install tensorflow-gpu==2.4.0

Tensorflow GPU验证

命令行进入python执行下面的命令,执行import tensorflow as tf 。这一行代码导入了一个名为 TensorFlow 的开源机器学习库。TensorFlow 提供了一系列的函数和类,能够帮助我们进行深度学习或机器学习相关的任务。这里我们将其简化为 tf,以便在后续的代码中更方便地调用。

执行命令tf.test.is_gpu_available(),这个函数的作用是检查当前 TensorFlow 是否可以访问到图形处理器(GPU)。如果可以,那么在进行深度学习等计算密集型任务时,可以利用 GPU 来加速计算。该函数会返回一个布尔值,如果返回 True,表示当前环境下的 TensorFlow 可以使用 GPU;如果返回 False,则表示不能。
Pychram 中测试这里建议先重启一下,不然会出现显存不足的情况。

  • import tensorflow as tf:导入TensorFlow库,这是一个用于深度学习和机器学习的库。
  • import timeit:导入timeit库,这是一个用于测量小段代码执行时间的库。
  • 在CPU设备上:
    • cpu_a = tf.random.normal([10000, 1000]):在CPU上生成一个10000行1000列的随机正态分布矩阵。
    • cpu_b = tf.random.normal([1000, 2000]):在CPU上生成一个1000行2000列的随机正态分布矩阵。
    • print(cpu_a.device, cpu_b.device):打印两个矩阵的设备信息,确认是否在CPU上。
  • 在GPU设备上:
    • gpu_a = tf.random.normal([10000, 1000]):在GPU上生成一个10000行1000列的随机正态分布矩阵。
    • gpu_b = tf.random.normal([1000, 2000]):在GPU上生成一个1000行2000列的随机正态分布矩阵。
    • print(gpu_a.device, gpu_b.device):打印两个矩阵的设备信息,确认是否在GPU上。
  • cpu_run():定义一个在CPU上进行矩阵乘法的函数。
  • gpu_run():定义一个在GPU上进行矩阵乘法的函数。
  • 预热运行:
    • cpu_run()gpu_run()进行10次运行,用于预热CPU和GPU。
    • 打印预热运行的时间。
  • 正式运行:
    • cpu_run()gpu_run()进行10次运行,用于比较CPU和GPU执行矩阵乘法的速度。
    • 打印正式运行的时间。
import tensorflow as tf
import timeit
 
with tf.device('/cpu:0'):
	cpu_a = tf.random.normal([10000, 1000])
	cpu_b = tf.random.normal([1000, 2000])
	print(cpu_a.device, cpu_b.device)
 
with tf.device('/gpu:0'):
	gpu_a = tf.random.normal([10000, 1000])
	gpu_b = tf.random.normal([1000, 2000])
	print(gpu_a.device, gpu_b.device)
 
def cpu_run():
	with tf.device('/cpu:0'):
		c = tf.matmul(cpu_a, cpu_b)
	return c
 
def gpu_run():
	with tf.device('/gpu:0'):
		c = tf.matmul(gpu_a, gpu_b)
	return c
 
# warm up
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('warmup:', cpu_time, gpu_time)
 
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('run time:', cpu_time, gpu_time)

本文标签: 流程环境GPU