win10运行tensorflow-gpu遇到的问题

win10使用tensorflow和tensorflow-gpu时踩过的坑

最初要使用tensorflow-gpu是因为要使用inception-resnet-v2,这个模型在cpu上跑,速度实在是太慢,两天跑1000个batch的样子,实在难受。于是搬出了我四年前的电脑(NIVIDA 840M)来准备用GPU跑。遇到了一些坑,一一解决了,记录一下。


first

最开始的时候,以为安装了tensorflow就可以直接有gpu就调gpu了,后来发现没那么简单,还是会用cpu的,必须装tensorflow-gpu版本。网上说两个并存会有麻烦,所以建议删了cpu版本再来装gpu版本。


error:CUDA driver version is insufficient for CUDA runtime version

原因

这个的原因是CUDA的驱动程序版本跟CUDA的运行时版本不匹配!看了一下,主要是我直接 conda install tensorflow-gpu来安装的,相应的cudnn和cudatoolkit都会自动下载最新版的,而这些最新版的不一定和自己的gpu匹配,导致错误。

解决

cuda的驱动程序版本即为NVIDIA GPU的驱动程序版本。
这个驱动版本可以通过nvidia-smi来查看,一般windows上这个好像没有直接加入环境变量,直接运行是不行的,一般是在C:\Program Files\NVIDIA Corporation\NVSMI,将其加入环境变量或是直接在目录下运行即可。
在这里插入图片描述
上图中红线圈出的部分即为自己的driver版本。

接着找到nvidia 驱动和cuda runtime 版本对应关系

运行时版本 驱动版本
CUDA 9.1 387.xx
CUDA 9.0 384.xx
CUDA 8.0 375.xx (GA2)
CUDA 8.0 367.4x
CUDA 7.5 352.xx
CUDA 7.0 346.xx

像我的就是8.0,
或者可以直接看 控制面板->搜索 NVIDIA->NVIDIA控制面板->帮助->系统信息,就可以看到支持的CUDA版本了。
在这里插入图片描述
然后就是删掉原来装的错误版本cudnn和cudatoolkit,重新安装对应版本:pip/conda install cudatoolkit=8.0


error:NewRandomAccessFile failed to Create/Open

在生成TFrecord文件时出现了这个错误。这个应该是图片的路径有问题,我的是有中文。


error:ResourceExhaustedError: OOM when allocating tensor with shape[128,149,149,32]

[128,149,149,32]的第一个参数表示batch_size的大小,第二三个参数表示图像尺寸,第四个参数表示卷积核个数。
这里出现这种错误的原因时超出内存了,因此可以适当减小batch_size的大小即可解决。


tensorbord 0.0.0.0:6006,网页中打不开

……应该用localhost:6006或者127.0.0.1:6006


tensorboard可视化,no scalar, no image

解决方法:方法一:将cmd的默认路径cd到log文件的上一层,即cd /d E:\MyTensorBoard,之后等号后面直接键入log文件名即可,不需写全路径,即 tensorboard --logdir=logs。方法二:双斜杠,即tensorboard --logdir=E://MyTensorBoard//logs

tensorboard 无法访问此网站

加参数 : --host 127.0.0.1

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值