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

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

  正题,实验室因为实验环境需要上了台搭载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. Mybaits动态Sql

    什么是动态SQL? MyBatis的强大之处便是它的动态SQL,如果你使用JDBC那么在根据不同条件查询时,拼接SQL语句是多么的痛苦. 比如查询一个学生信息,可以根据学生的姓名,性别,班级,年龄,学 ...

  2. Nginx详解十八:Nginx深度学习篇之Rewrite规则

    Rewrite规则可以实现对url的重写,以及重定向 作用场景: 1.URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 2.SEO优化 3.维护:后台维护.流量转发等 4.安全 配置语 ...

  3. Nginx详解一:Nginx基础篇之环境准备

    环境确认: 1.确认系统网络可用 2.确认yum源可用 3.确认关闭iptabkes规则 查看是否有iptabkes规则:iptables -L 如果有的话:iptables -F关闭 保险起见也看看 ...

  4. scss文件使用笔记

    1.编写兼容性代码 例如透明度,兼容IE @mixin mOpacity($o){ opacity:$o/100; filter:alpha(opacity=$o); } //引用 .box{ @in ...

  5. 中软酒店管理系统CSHIS操作手册_数据结构_数据字典

    https://wenku.baidu.com/view/f6ca11f5ee06eff9aef807cb.html

  6. web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开

    https://blog.csdn.net/zgsdzczh/article/details/79744838 web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开   <style typ ...

  7. spring+redis的集成,redis做缓存

    1.前言 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.我们都知道,在日常的应用中,数据库瓶颈是最容易出现的 ...

  8. JVM 方法区内存扩大 以及开启GC

    因为应用使用了OSGi框架,<深入理解JAVA虚拟机>中对使用OSGi时可能产生的方法区溢出有所描述 第一部分: 第二部分 可见,OSGi会动态生成大量Class,在OSGi中,即使是同一 ...

  9. img没有src属性时自动出现边框

    当img没有接收到src属性的时候会自动出现边框,border:0/none都不管用的情况下 解决方法 一行css 可以解决 img[src=""],img:not([src]){ ...

  10. BZOJ3926 [Zjoi2015]诸神眷顾的幻想乡 字符串 SAM

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ3926.html 题目传送门 - BZOJ3926 题意 给定一个有 $n$ 个节点,最多只有 $20$ ...