tensorflow 1.13.1 安装采坑

2023-10-29

环境:

win10 x64位,cuda10.1,cudnn 7.5,vs2013,vs2015 distributed ,GTX1060

按照网上的教程安装,如下面博客

https://blog.csdn.net/huanyingzhizai/article/details/89298964

我最后的安装位置:anaconda2下面的虚拟环境py3下面新建虚拟环境:tensorflow-gpu

安装的tensorflow库:

坑:

包括conda安装和pip安装完提示安装成功,但是一旦import tensorflow as tf就会直接报错:

提示dll加载失败,找不到指定的模块。

试过重装很多次,都还是一样,报同样的错误,原因是tensorflow版本和cuda版本不匹配导致的。我的cuda是10.1版本,而tensorflow最新的是1.13.1(今天刚出了1.14.0还没提供下载),只支持到cuda 10.0,因此一直会提示dll加载失败。换cuda版本实在是工作量有点大,牵扯到我的caffe和torch环境,尤其caffe得重新编译,麻烦的很,想想还是算了,找找其他办法能不能解决。

解决办法:

为什么会提示dll加载失败呢?都是那些dll加载失败呢??终于在一篇博客找到了希望,参考的博客:

https://blog.csdn.net/l_mingo/article/details/88110945

按照博客方法打开命令行输入以下命令查看依赖的是哪些dll:

"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe" /dependents C:\Users\username\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd

接下来就会输出目前tensorflow所依赖的dll库:

按照博客中的方法:在命令行中使用:where cublas64_100.dll 的命令来查找这些库是不是在系统的path中,但是我使用了where之后只是显示了下面的这种提示:

这只是提示在系统path中没找到这些dll。但是,我使用一个文件搜索神器(Everything)把这些dll挨个搜了一遍:如下图所示

发现不在C:/windows/system32文件夹下,但是在其他很多文件夹中存在这个文件,然后我就按博客所说的,将搜到的这个dll随便复制一个放在C:/windows/system32文件夹下面就可以了。其他dll文件都找到了,但是有一个文件:cusolver64_100.dll ,搜遍了整个电脑都没有,但有一个cusolver64_10.dll,两个文件名挺像的,应该就是版本不一样吧:

试着将cusolver64_10.dll复制一份,重命名为cusolver64_100.dll,然后放到C:/windows/system32文件夹下,奇迹发生了,输入import tensorflow 没报错,接着输入下面两条命令试试能不能使用GPU:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

竟然成功了,成功的打印了GPU信息,折腾了一天,终于搞定了。

总结:

我没有将cuda10.1换成其他版本,因为我的caffe和torch都是基于cuda10.1的,要是重新将cuda降级,工作量会更大,caffe得重新编译,torch得重装,还好解决了,环境问题真是头疼!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tensorflow 1.13.1 安装采坑 的相关文章

随机推荐

  • CSR867x — 从“吃一堑”中说说我对老外做事的看法

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX 作 者 文化人 XX 联系方式 XX 版权声明 原创文章 欢迎评论和转载 转载时能告诉我一声就最好了 XX 要说的话
  • 虚拟机VMware怎么完全卸载干净,如何彻底卸载VMware虚拟机

    亲测好使 1 禁用VM虚拟机服务 首先 需要停止虚拟机VMware相关服务 按下快捷键WIN R 打开windows运行对话框 输入 services msc 点击确定 如下图 在服务管理中 找到VM开头的所有服务类别如下图 将所有VM开头
  • vue3全局引入element-plus后怎么使用Message进行消息提示(超简单)

    vue3全局引入element plus后怎么使用Message进行消息提示 超简单 全局引入element plus请看其他 第一步 import ref getCurrentInstance from vue 第二步 在setup中声明
  • (二)主板BIOS设置与硬盘分区、调整

    1 主板BIOS设置 前提 你得有一台电脑 台式机或笔记本电脑都行 BIOS负责开机时对系统中各个硬件进行初始化设置和测试 以确保系统能正常工作 是电脑硬件与软件程序之间的一座桥梁 电脑在开机启动之前 首先要检查BIOS 它是计算机最底层的
  • VishwaCTF 2022 部分wp

    学长推荐的一个相对平易近人的ctf 对我这种菜鸡友好一点 就想着web要多写几道出来毕竟简单的比赛不常见 继续加油积累经验吧 My Useless Website 一个最简单的sql 万能密码注入 Stock Bot 注意源码 有hint
  • 安装了360天擎不能读u盘_关于硬盘/U盘/储存卡格式,你不得不知道的常识!

    https www zhihu com video 942459588977627136 情况一 你手里有一只U盘或者SD卡 存储容量有16G甚至32G 但用它来拷贝东西的时候你发现 文件超过4G之后 就无法拷贝 这时候 你到底该怎么办呢
  • 实现图片的裁剪和融合。

    请参考之前的博客链接 https blog csdn net Helloorld 1 article details 130107465 spm 1001 2014 3001 5502 如何实现裁剪图片 本文主要是讲述如何利用SAM Seg
  • OpenGL学习笔记(五)-投光物-多光源

    参考网址 LearnOpenGL 中文版 哔哩哔哩教程 2 5 投光物 2 5 1 平行光 1 当一个光源处于很远的地方时 来自光源的每条光线就会近似于互相平行 例如太阳 不论物体和 或者观察者的位置 看起来好像所有的光都来自于同一个方向
  • python Flask中返回图片流给前端展示

    场景需求 需要在Flask服务器的本地找一张图片返回给前端展示出来 问题疑点 通常前端的 img 标签只会接受url的形式来展示图片 没试过在返回服务器本地的一张图片给前端 因此写个记录一下这个看起来有点奇葩的场景 通常个人博客 个人网站没
  • centos 7.9 yum 安装最新版docker与dnf安装docker compose v2

    centos 7 9 yum 安装最新版docker与dnf安装docker compose v2 一 环境查看 1 系统内核 uname r 2 系统版本 cat etc redhat release 二 更新yum源 1 备份旧yum仓
  • 网站遭受攻击高防cdn进行防御的原理是什么?

    网站遭受攻击高防cdn进行防御的原理是什么 什么是高防cdn cdn的全称是Content Delivery Network 即内容分发网络 最近这几年 互联网络技术不断改进的同时 网络安全问题日益严峻 在这样的互联网环境下 高防cdn由此
  • 最小二乘法的一般形式和矩阵形式原理推导和代码实现

    转自 作者 金良 golden1314521 gmail com csdn博客 http blog csdn net u012176591 1 线性代数模型 首先给出最小二乘解的矩阵形式的公式 推导过程 条件 矩阵必须是列满秩矩阵 否则的逆
  • Git 命令图形化在线练习

    git 命令在线练习网址如下 http onlywei github io explain git with d3 在master上先提交2个commit 创建3个分支 分支1打5个commit 分支2打6commit 分支3commit
  • 欧式几何与非欧式几何

    欧氏几何 几何学的一门分科 公元前3世纪 古希腊数学家欧几里得把人们公认的一些几何知识作为定义和公理 在此基础上研究图形的性质 推导出一系列定理 组成演绎体系 写出 几何原本 形成了欧氏几何 在其公理体系中 最重要的是平行公理 由于对这一公
  • Java常见的十道语法题-详解

    1 判断 101 200 之间有多少个素数 并输出所有素数 代码如下 判断素数 public static void main String args boolean flag 定义标记语句 for int i 101 i lt 200 i
  • 区块链概述

    一 什么是区块链 区块链是一个信息技术领域的术语 区块链是借由密码学串接以保护内容的自增长的交易记录列表 又称区块 每一个区块包含了前一个区块的哈希值 本区块的时间戳记以及交易数据 通常用默克尔树结构的哈希值表示 这样的设计使得区块内容具有
  • Chromedriver安装和配置

    首先安装Chromedriver 下载网址 http npm taobao org mirrors chromedriver 找到与你chrome浏览器对应版本的下载 上面只是一部分 如果没有的可以上百度查一下 然后指定路径进行安装 这里我
  • 【Python编程】Python实现生产者消费者模式(多线程爬虫)

    Python实现生产者消费者模式 多线程爬虫 1 多组件的Pipeline技术架构 复杂的事情一般都不会一下子做完 而是会分很多中间步骤一步步完成 2 生产者消费者爬虫的架构 3 多线程数据通信的 queue Queue queue Que
  • Order By 和 Group By的适用场景

    Order By和Group By看起来很像 但实际上使用用途和适用场景实际上很大的不同 Order By Order By是排序根据所给字段进行排序 select from s order by sname desc sage desc
  • tensorflow 1.13.1 安装采坑

    环境 win10 x64位 cuda10 1 cudnn 7 5 vs2013 vs2015 distributed GTX1060 按照网上的教程安装 如下面博客 https blog csdn net huanyingzhizai ar