解决使用NVIDIA GPU运行tensorflow+keras代码时遇见的问题


前言

记录一下使用NVIDIA GPU运行tensorflow+keras代码时遇见的问题及解决方法。


一、CUPTI_ERROR_INSUFFICIENT_PRIVILEGES问题

问题:function cupti_interface_->Subscribe(&subscriber_, (CUpti_CallbackFunc)ApiCallback, this)failed with CUPTI_ERROR_INSUFFICIENT_PRIVILEGES

原因:默认情况下显卡的算力仅限制管理员访问,作为普通用户进行访问时会出现INSUFFICIENT_PRIVILEGES警告。

解决方法
1.打开Nvidia Control Panel,即Nvidia控制面板。
在这里插入图片描述

2.查看左侧栏中是否有“开发者”一栏。
在这里插入图片描述
若没有“开发者”这一栏,点击上方菜单栏中的“桌面”选项,勾选“启用开发者设置”。
在这里插入图片描述
3.在“开发者”这一栏下点击“管理GPU性能计数器”,在右侧选择“允许所有用户访问GPU性能计数器”,问题即可解决。
在这里插入图片描述


二、cupti64_101.dll not found问题

问题:Could not load dynamic library ‘cupti64_101.dll’; dlerror: cupti64_101.dll not found

原因:环境变量未设置好

解决方法
1.打开环境变量
在这里插入图片描述
2.找到自己的NVIDIA GPU Computing Toolkit的路径,将“D:\xxx\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64\”,添加到环境变量Path中。
注意:
lib64后面有\
v10.1是CUDA的版本号,每个人的版本可能不一样。
以下是按照我的路径添加的,每个人的路径不同,注意修改。

添加:
在这里插入图片描述
3.在其他博客上提到的另一个方法:复制cupti64_101.dll到"D:\xxx\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin"下。
因添加环境变量后已解决问题,这个方法未尝试过


三、CUDNN_STATUS_ALLOC_FAILED问题

问题:Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED

原因:显卡内存不足

解决方法
1.在另一个终端或者软件也运行了 tensorflow(import tensorflow),可能导致显存不足,关闭另一个即可。
2.若没有其他正在运行的,在代码最前面加入:

config = tf.compat.v1.ConfigProto(allow_soft_placement=True)
config.gpu_options.per_process_gpu_memory_fraction = 0.3
tf.compat.v1.keras.backend.set_session(tf.compat.v1.Session(config=config))
  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_46285064

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值