记录

一.记录cudnn,cuda,tensorflow的关系

在自己的电脑上安装了cudnn,cuda驱动后要知道安装的版本,当你要安装tensorflow-gpu的时候,用conda下载的时候要看这个tensorflow-gpu所带有的依赖包cudnn,cudatoolkit是否和你电脑上安装好的cudnn,cuda版本对应上。
上面说的分解:
1.你的电脑如果没有安装cuda,cudnn的时候,可以在conda tensorflow的时候下载依赖的它们来完成tensorflow-gpu加速的效果
2.如果你的电脑安装了cuda,cudnn的时候,用pip安装 Tensorflow-gpu=1.3
我这里为什么安装1.3是因为 1.3的tensorflow-gpu支持 我电脑的cuda8.0,cudnn6.0.2的,而且通过pip安装的时候不会去安装依赖包。
通过:

shell

sudo find / -name libcudnn*

可以看到自己电脑上关于libcudnn. 这个字符串的所有文件:

shell

为了假设自己的猜想:我认为只要在电脑上安装了cuda,cudnn后,是否创建一个anaconda环境的(如tensorflow环境),这个安装好的cuda,cudnn就是在你的.conda/pkgs/cudnn-6.0.21-cuda8.0.0/lib里面。
其实这个假设也是一个结论,因为是放在pkgs目录的,不是放在envs目录,所以pkgs目录下的所有.so文件将会加载到所有的环境中。

那么问题来了:我的pkgs环境中有cudnn-7.1.3,为什么我建立maskrcnn环境跑的是6.0.21的cudnn而不是我下面的cudnn7.1.3环境呢?

为了解决这个问题,我运行了win10的anaconda中建立的一个环境,打开了pkg目录:

pkgs

在这里插入图片描述
注意图中的黄色框。你可以看到这个pkg文件夹里面是由bz2压缩文件解压后得到的文件夹然后复制到所需要的环境的site-packages里面的。
在linux系统中,其实也是一样的

是的,你可以在linux中 缓存的包是放在./conda/pkgs里面的。

记住:
1.按照你的电脑上的cuda,cudnn版本号安装对应的tensorflow-gpu,

pip install tensorflow-gpu=1.3

这句话/usr/local/cuda/lib64$ sudo rm libcudnn.* 就是说文件夹内,所有名字为libcudnn.xxx的文件都删除,如libcudnn.a libcudnn.b libcudnn.qwdwq

详细理解电脑的gpu与tensorflow的关系(豆瓣加速)
http://baijiahao.baidu.com/s?id=1604501192403223852&wfr=spider&for=pc

电脑配置和我一样
https://www.cnblogs.com/sss423/p/8577111.html

tensorflow/stream_executor/cuda/cuda_blas.cc:366] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
2019-04-23 21:54:01.101885: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385]
could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-04-23 21:54:01.158439: F tensorflow/core/kernels/conv_ops.cc:667] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)
2.
2019-04-24 00:38:35.693366: E tensorflow/stream_executor/cuda/cuda_dnn.cc:378] Loaded runtime CuDNN library: 7103 (compatibility version 7100) but source was compiled with 7005 (compatibility version 7000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
3.
F tensorflow/core/kernels/conv_ops.cc:667] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)
报上述信息错误的 都是因为你的cuda版本和cudnn与本机的cuda版本和cudnn版本不匹配的问题,需要卸载tensorflow和cuda ,cudnn,安装合适的tensorflow-gpu版本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值