Tensorflow GPU 使用

我在尝试训练我的第一个Keras图像分类器,使用8000张图片的训练集时,训练速度非常慢。训练过程中,我的CPU和GPU使用率分别约为40%和3%,我完全不确定tensorflow-gpu是否正确安装,因为在导入时我没有看到那些据说应该出现的“成功打开CUDA库”的提示信息。

我的问题是:

  1. 在1080显卡上,训练这种规模的数据通常需要多长时间?

  2. 鉴于我已经安装了以下软件,我在设置tensorflow-gpu时可能还缺少什么?

    • 全新的Windows 10安装
    • 最新版64位Anaconda
    • Visual Studio 2017,安装时仅勾选了“桌面开发使用C++”选项
    • Cuda Toolkit 9.0 及最新补丁
    • cuDNN v7.0.5(2017年12月5日),适用于CUDA 9.0
    • tensorflow-gpu 1.7
    • 环境变量的截图

enter image description here


回答:

检查你的tf是否使用GPU的一个方法(对我来说是最好的方法)是使用nvidia-smi:这里你可以看到我的任务的GPU内存使用情况(我有160万个观测值,13个变量,占用约11 GB,你的应该也只占用几个MB或GB,具体取决于你的图片大小),所以如果你的系统在你开始运行模型后没有显示这些信息,那么肯定是使用了CPU(GPU可能需要几分钟到几个小时,而CPU会花费更长时间)

nvidia-smi info

注意:我的终端不会输出tensorflow的输出信息,这些信息在IDE中是存在的,如下所示(CUDA不会显示在其中,正如网上所声称的那样,只有当不兼容并且无法在tf中启动GPU时,才会出现CUDA问题):

Tensorflow uses GPU

这里是正确安装cudnn后测试通过的信息:

cudnn test pass

P.S:希望这对你有帮助。昨天在Ubuntu上尝试了Tensorflow 1.7版本,但没有按预期工作(GPU没有工作),所以我降级回到了1.6版本,因此建议你使用1.6版本:check the tf version

你的设置与官方文档略有不同:

nvidia cuda toolkit documentation

所以这里是正确的路径:

确保设置以下值:

Variable Name: CUDA_PATH Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注