自从上一篇论文投出去,之后就各种事就来了……处理那些乱七八糟的事就是让人心累,在加上师哥们毕业,能帮我的人越来越少了,而要指望你的人呢,越来越多。一想到那些用搜索引擎都搜不到资料的人,蓦地想起邓爷爷说的那句“学习计算机要从娃娃抓起……”

  上来先吐槽这么几句哈,毕竟憋了快两个星期了,

  正题,实验室因为实验环境需要上了台搭载1080Ti的机器,简单说几项配置:6核i7CPU,64G内存,256固态+4T机械,1080TI显卡(都说它有8G显存,但实验时发现有10G+的显存)单路,风扇散热,双系统(win10+Ubuntu 16.04)。之前因为论文的事一直拖着没配置环境,上上周五才有时间开始弄这套环境,共在Ubuntu上建了4个新账户,每次编译TF老是出问题,所以配置了不下20遍吧,中间伴随着降低gcc版本、调整g++版本、降低显卡驱动版本等等闭眼的操作……当和同学说编译不过时,同学说同样的教程他那边一次成功,在一次次重新来过的过程找那个整个人的心情是相当低落的,不是不干活,是靠自己经验真的找不到BUG啊,一度开始怀疑自己能力、怀疑人生,还没人讨论一起研究这些,心里苦,但是说不出口……

  当时遇到的困境在于:

  1、本地编译TF过程中,报一大堆警告,就是那种c++代码,但是还一直在编译,直到结束,

  2、编译完,安装之后,发现:

    ①import tensorflow as tf,直接报错,可能就是缺那个p****的包,记得当时装上也不行,无果……(与编译环境有关)

    ②import成功,终端没反应,之后输入那个helloTF的例子测试,直接报错找不到模块,就这一个问题差不多用了两天时间来修,最终无果……

  3、还有那种报找不到lib…….so.5及其5.1的问题,这个问题是因为安装的cuDNN和你编译时候选的版本不一样,可能是选了6,其实这里网友建议降低到5.1或者5版本,这时候你改为用5.1版本号程序能自动寻路找到已安装的库,

  4、有时候本地编译的安装失败后卸载,直接pip安装TensorFlow-gpu,这时候还是无法import,每次遇到这种情况,内心几乎是崩溃的,

  5、最后搭建完,测试代码,虽然能感觉到明显的加速,但是运行程序时候一般会显示几条“没编译***的库,但是能够加速你的CPU计算”,而不是那句可爱的“Successfully opened CUDA……”(可能与编译环境有关)

  ……(没错,省略号可能都表示不了我同时打开了近20个终端在操作)

**************************************************************************************************************************************************************************************************************************

  转机出现在删除所有之前的账户,重建账户再来一遍时候。这次根本就是死马当活马医了,觉得不行就重装个系统试试……

  1、这次重新搭建环境,重新测试了所有环境变量,配置,安装好编译器和Anaconda3(3.5版本)之后按照教程《深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0》继续搭(zuo),当看到显卡驱动那里,想着自己当时上的是开源最高版本驱动,觉得可能有问题,遂降低为专有驱动(一直不降驱动是因为之前同学说他一直用的官网推的最新驱动)。之后按照教程安装CUDA,测试了两个例子,没问题,这一步一直都能测试成功。

  2、再按照《深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow》安装cuDNN并行,这个地方和之前不同的是,以前一直在用6.0版本,这次降低到5.1,这个安装时候可以看到库的存放位置,不要错,还有权限问题。

  3、剩下的就是平时周围人所说的piip install就能安装的TensorFlow,一直坚持本地编译安装,是因为同学说本地编译的更好,我信了,然后……就一路坑……索性这次就直接pip安装了,反正再不行就重装系统了,结果……结果就可以了,

  在测试helloTensorFlow时,握着鼠标的手都是在发抖的,成功后接着测试tensor运算,测试mnist的例子,一路无阻,后来还跑了一把生成歌词的例子,几分钟跑完,至此确信基础环境搭建完毕,还想测试强化学习那个小鸟游戏的代码,但是貌似还要OpenCV,就没再折腾,

  如果有人想说要用Python2.7,那么需要你先了解下github上Python 2.7和3.5+版本的程序的占有量,

  如果说还有参考资料的话,那就是一篇《TensorFlow学习一:源码安装》,有详细配置编译细节,

  如果最后还要问我有什么想说的:

  看资料是一个人,看论文是一个人,搭环境是一个人,做实验是一个人,Debug是一个人,成功了是一个人,写论文是一个人;再加上实验室+学院的琐事,同学安慰说“能者多劳”,我头也没抬“多劳得多得啊……”不知道他脸上的表情,

【我能提供的经历就这么多,有问题可继续评论提出,当然有说的不对的地方也欢迎大家提出,马上改,】

踩坑记:Tensorflow环境搭建的更多相关文章

  1. Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记

    前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript ...

  2. centos 7( linux )下搭建elasticsearch踩坑记

    原文:https://blog.csdn.net/an88411980/article/details/83150380 概述    公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...

  3. Spark踩坑记——从RDD看集群调度

    [TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...

  4. 【踩坑记】从HybridApp到ReactNative

    前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...

  5. windows container 踩坑记

    windows container 踩坑记 Intro 我们有一些服务是 dotnet framework 的,不能直接跑在 docker linux container 下面,最近一直在折腾把它部署 ...

  6. iOS自动化打包上传的踩坑记

    http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...

  7. WinUI 3 踩坑记:前言

    WinUI 3 (Windows App SDK 于 2021 年 11 月发布了第一个正式版 v1.0.0 [1],最新版本是 v1.1.5 [2].我的基于 WinUI 3 的个人项目 寻空 从年 ...

  8. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  9. Spark踩坑记——数据库(Hbase+Mysql)

    [TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...

  10. Spark踩坑记——共享变量

    [TOC] 前言 Spark踩坑记--初试 Spark踩坑记--数据库(Hbase+Mysql) Spark踩坑记--Spark Streaming+kafka应用及调优 在前面总结的几篇spark踩 ...

随机推荐

  1. 给artDialog插件增加动画效果

    领导想给弹窗增加几种动画效果,以前用过layer弹窗,效果不错,它的动画是用的样式,实现很简单,所以把动画拷贝了过来,打包到现在的artDialog.js里... 使用方式:新增配置参数{anim:4 ...

  2. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '***' (2)

    有时候,当我们使用“mysql”.“mysqladmin”.“mysqldump”等命令管理数据库时,服务器抛出类似如下错误: ERROR (HY000): Can't connect to loca ...

  3. 步步为营-76-用户登录(Session+Cookie)

    说明:cookie是保存在浏览器的.Session是存储在服务器的 1 同样UI页面还是web前端提供 1.1 首先,经过验证码校验:将系统产生的验证码放入到Session中,然后取Session值注 ...

  4. Just oj 2018 C语言程序设计竞赛(高级组)F:Star(结构体排序+最小生成树)

    F: Star Time Limit: 1 s      Memory Limit: 128 MB Submit My Status Problem Description 31世纪,人类世界的科技已 ...

  5. phoenix表操作

    phoenix表操作 进入命令行,这是sqlline.py 配置到path环境变量的情况下 sqlline.py localhost如果要退出命令行:!q 或者 !quit 3.4.1     创建表 ...

  6. 解决bootstrap多模态框跳转时页面左移问题

    衍生问题暂未发现.... 忽略左右跳动视觉差 解决方法: 在bootstrap的js搜索padding-right,然后找到“+this.scrollbarWidth”,删掉即可.

  7. ubuntu下使用matplotlib绘图无法显示中文label

    原因是字体导致的.大家的做法基本都是搞一个windows上的字体文件(simhei.ttf, 点我fq下载)然后刷新一下缓存文件. 只不过百度搜到第一篇CSDN的博客,写的很不靠谱(不是所有的CSDN ...

  8. C++ 复制构造函数 与 赋值运算符

    在C++中,将一个对象赋给另外一个对象,编译器将提供赋值运算符的定义. 有两种情况,下面假设catman是Monster的一个实例 第一种:初始化 Monster golblen= catman; 第 ...

  9. Spring MVC基础知识整理➣数据校验与格式化

    概述 将view中Form的数据提交到后台之后,后台如何验证数据的有效性?在这里Spring MVC提供了相应的Hibernate类包(hibernate-validator-4.3.1.Final. ...

  10. 萨塔尼亚的期末考试(fail)

    题解: 这题比较妙啊... 首先暴力自己算是找不出规律的 有一种直觉就是可以把式子变成{f[1]+...f[n]}+{f[2]+...+f[n]}+{f[3]+...+f[n]}... 然后看了题解发 ...