我在雪中唤剑来 發表於 2025-5-24 15:26:00

部署可使用GPU的tensorflow库

<p>  本文介绍在<strong>Anaconda</strong>环境中,配置可以用<strong>GPU</strong>运行的<strong>Python</strong>新版<code>tensorflow</code>库的方法。</p>
<p>  在上一篇文章部署CPU与GPU通用的tensorflow:Anaconda环境中,我们详细介绍了<strong>CPU</strong>、<strong>GPU</strong>通用的新版<code>tensorflow</code>库的配置方法;本文就在这一篇文章的基础之上,继续介绍<strong>如果希望让GPU参与到计算中</strong>,我们该如何进一步配置对应的环境。如果大家此时还没有配置<code>tensorflow</code>库,那么就先将前述这一篇文章的流程完成后,再继续本文的步骤即可。</p>
<p>  这里需要注意,<code>tensorflow</code>库在<code>2.11</code>及以上的版本中,都取消了对<strong>Windows</strong>平台的<strong>GPU</strong>支持(我试了一下,就算装了<strong>WSL</strong>也不行);而在撰写本文时,用的是<code>2.6.2</code>版本的<code>tensorflow</code>库,因此是没有问题的。所以大家如果装了<code>2.10</code>及以下版本的<code>tensorflow</code>库,就继续向后看本文即可;如果此时已经装了<code>2.11</code>及以上版本的<code>tensorflow</code>库,那么可以首先通过如下的代码将<code>tensorflow</code>库更换为<code>2.10</code>版本的(执行这一代码时,将自动删除原有的<code>2.11</code>及以上版本的<code>tensorflow</code>库),再继续看本文。</p>
<pre><code>pip install --user "tensorflow&lt;2.11"
</code></pre>
<p>  前面我们提到,当时虽然已经配置完毕了新版<code>tensorflow</code>库,但是如果运行代码,还是会出现如下图所示的提示信息,即我们还没有配置好<strong>GPU</strong>运行的环境。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152408104-1965465074.png"></p>
<p>  其中,如果大家的电脑上是没有<strong>GPU</strong>,或者就不需要用<strong>GPU</strong>加以计算,那就不用管这个问题,直接开始编写、运行机器学习的代码就好了;但是对于电脑中有<strong>GPU</strong>并且也希望让<strong>GPU</strong>加入运算的用户而言,就需要加以进一步的配置工作。具体流程如下。</p>
<h1 id="1-系统版本要求">1 系统版本要求</h1>
<p>  如果需要用本文所述的<strong>GPU</strong>环境配置方法,需要保证<strong>Windows</strong>操作系统的版本在<code>19044</code>及以上;如果不满足这一条件,除了升级系统,就只能通过早期版本的<code>tensorflow</code>库来实现<strong>GPU</strong>运算了。</p>
<h1 id="2-gpu设置">2 GPU设置</h1>
<p>  首先,我们需要打开<strong>Anaconda Prompt</strong>软件;随后,可以输入如下所示的代码,从而查看我们的<strong>GPU</strong>状态。</p>
<pre><code>nvidia-smi
</code></pre>
<p>  运行上述代码后,如下图所示,即为我们的<strong>GPU</strong>状态。如果无法出现如下图所示的信息,则很大概率是没有安装驱动(<strong>NVIDIA Driver</strong>),大家可以到其官方网站中下载。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152400977-811856752.png"></p>
<p>  随后,我们即可配置<strong>CUDA</strong>与<strong>cuDNN</strong>;其中<strong>CUDA</strong>是<strong>NVIDIA</strong>为其生产的<strong>GPU</strong>所研发的一种并行计算架构,而<strong>cuDNN</strong>则是<strong>NVIDIA</strong>专门为深度神经网络运行而提供的一个加速库。这二者目前网上很多教程是通过手动到<strong>NVIDIA</strong>官方网站上下载、安装的,相对较为麻烦;而这里我们既然已经用了新版本的<code>tensorflow</code>库,那么就可以直接在命令行实现二者的下载与配置。</p>
<p>  我们输入如下所示的代码。</p>
<pre><code>conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0
</code></pre>
<p>  随后,运行上述代码,如下图所示。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152401023-793529175.png"></p>
<p>  随后,输入<code>y</code>,即可确认开始下载、配置<strong>CUDA</strong>与<strong>cuDNN</strong>。稍等片刻,出现如下图所示的情况,说明二者已经配置完毕。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152400988-901840783.png"></p>
<p>  至此,<strong>CUDA</strong>与<strong>cuDNN</strong>的设置已经完毕。但是,为了让这二者可以正常使用,我们还需要配置系统路径。关于这一步的内容,大家可以直接用管理员身份打开<strong>Windows PowerShell</strong>软件来进行配置,如下图所示。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152401006-1217194503.png"></p>
<p>  随后,分别输入并运行以下两句代码。</p>
<pre><code>mkdir -p $CONDA_PREFIX/etc/conda/activate.d
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/' &gt; $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
</code></pre>
<p>  运行后如下图所示。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152401007-1637721273.png"></p>
<p>  至此,就完全完成了<strong>GPU</strong>方面的配置工作。</p>
<h1 id="3-wsl2配置">3 WSL2配置</h1>
<p>  此外,我们还需要配置<strong>WSL2</strong>。<strong>WSL</strong>是“<strong>适用于Linux 的Windows 子系统</strong>”,我们需要配置这一环境,为后面的<strong>GPU</strong>运算提供条件。</p>
<p>  关于<strong>WSL2</strong>的介绍与手动配置方法,大家可以直接查看其官方网站;我们这里就介绍通过命令行的简单的配置方法。</p>
<p>  首先,依然是在管理员身份打开的<strong>Windows PowerShell</strong>软件中,我们输入如下所示的代码。</p>
<pre><code>wsl --install
</code></pre>
<p>  随后,即可开始安装<strong>WSL2</strong>;稍等片刻,出现如下图所示的提示,说明<strong>WSL2</strong>已经配置完毕;此时,需要重启一次电脑。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152400991-644132674.png"></p>
<h1 id="4-配置结果验证">4 配置结果验证</h1>
<p>  至此,已经完成了<strong>GPU</strong>运算所需要的全部配置步骤。如果大家是在一个新的虚拟环境中配置的上述内容,就可以按照文章Anaconda虚拟环境配置Python库与Spyder编译器提到的方法,安装一个<strong>Spyder</strong>软件,方便后续代码的撰写。</p>
<p>  随后,在编辑器中输入如下的代码。</p>
<pre><code class="language-python">import tensorflow as tf
print(tf.config.list_physical_devices("GPU"))
</code></pre>
<p>  如下图所示。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152400966-8739690.png"></p>
<p>  运行上述代码后,如果出现如下图所示的输出结果,就表明程序可以找到电脑中的<strong>GPU</strong>,即前述全部配置工作是没有问题的;大家就可以开始撰写机器学习的各类代码,并用<strong>GPU</strong>加速运行了。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152401021-874849939.png"></p>
<p>  此外,这里还有一种不推荐的检验方法。大家还可以输入以下的代码。</p>
<pre><code class="language-python">import tensorflow as tf
tf.test.is_gpu_available()
</code></pre>
<p>  这也是一种检验<strong>GPU</strong>是否可用的方法,但是如下图所示,这种方法马上就要被淘汰了,因此建议还是用上面提到的方法来测试。如果出现如下图所示的<code>True</code>字样,就说明配置没有问题。</p>
<p><img src="https://img2024.cnblogs.com/blog/3080295/202505/3080295-20250524152400979-1324237966.png"></p>
<p>  至此,大功告成。</p><br><br>
来源:https://www.cnblogs.com/fkxxgis/p/18894392
頁: [1]
查看完整版本: 部署可使用GPU的tensorflow库