踩坑记:Tensorflow环境搭建
自从上一篇论文投出去,之后就各种事就来了……处理那些乱七八糟的事就是让人心累,在加上师哥们毕业,能帮我的人越来越少了,而要指望你的人呢,越来越多。一想到那些用搜索引擎都搜不到资料的人,蓦地想起邓爷爷说的那句“学习计算机要从娃娃抓起……”
上来先吐槽这么几句哈,毕竟憋了快两个星期了,
正题,实验室因为实验环境需要上了台搭载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环境搭建的更多相关文章
- Vue + TypeScript + Element 搭建简洁时尚的博客网站及踩坑记
前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript ...
- centos 7( linux )下搭建elasticsearch踩坑记
原文:https://blog.csdn.net/an88411980/article/details/83150380 概述 公司最近在做全文检索的项目,发现elasticsearch踩了不少 ...
- Spark踩坑记——从RDD看集群调度
[TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...
- 【踩坑记】从HybridApp到ReactNative
前言 随着移动互联网的兴起,Webapp开始大行其道.大概在15年下半年的时候我接触到了HybridApp.因为当时还没毕业嘛,所以并不清楚自己未来的方向,所以就投入了HybridApp的怀抱. Hy ...
- windows container 踩坑记
windows container 踩坑记 Intro 我们有一些服务是 dotnet framework 的,不能直接跑在 docker linux container 下面,最近一直在折腾把它部署 ...
- iOS自动化打包上传的踩坑记
http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...
- WinUI 3 踩坑记:前言
WinUI 3 (Windows App SDK 于 2021 年 11 月发布了第一个正式版 v1.0.0 [1],最新版本是 v1.1.5 [2].我的基于 WinUI 3 的个人项目 寻空 从年 ...
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- Spark踩坑记——共享变量
[TOC] 前言 Spark踩坑记--初试 Spark踩坑记--数据库(Hbase+Mysql) Spark踩坑记--Spark Streaming+kafka应用及调优 在前面总结的几篇spark踩 ...
随机推荐
- 好用的JS拖拽插件
下载artDialog插件的时候发现它把拖拽单独封装成了一个方法,挺好用的,使用方法如下... 第一种拖拽方式-点击容器指定区域进行拖拽 $('.ui-dialog').on(DragEvent.ty ...
- CentOS7+mysql(yum)
1.现在centos上默认是没有yum源的,yum安装的是 MariaDB.所以我们需要自己先配置yum源.配置yum源步骤如下: 下载yum源:wget 'https://dev.mysql.com ...
- Allegro PCB Design GXL (legacy) 从dxf文件中导入板框
Allegro PCB Design GXL (legacy) version 16.6-2015 新建brd文件,并设置好相应的参数之后,点击菜单:File > Import > DXF ...
- python selenium-webdriver 生成测试报告
测试最后的一个重要的过程就是生成一份完整的测试报告,生成测试报告的主要是通过python的一个第三方模块HTMLTestRunner.py生成,但是生成的测试报告不是特别的美观,而且没有办法统计测试结 ...
- 阿里云使用js 实现OSS图片上传、获取OSS图片列表、获取图片外网访问地址(读写权限私有、读写权限公共);
详情请参考:https://help.aliyun.com/document_detail/32069.html?spm=a2c4g.11186623.6.763.ZgC59a 或者https://h ...
- 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)
论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...
- 步步为营-89-SQL语句(删除重复数据)
1:删除重复数据 --第一步:先找到重复数据 select ProcInstID from record_errorlog group by ProcInstID having count(ProcI ...
- BZoj 2301 Problem b(容斥定理+莫比乌斯反演)
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 7732 Solved: 3750 [Submi ...
- excel 中怎么让两列姓名相同排序(转)
如图,A列B列不动,C列和D列行值不变,以A列姓名为主让C列姓名和A列相同姓名的对齐(行),D行跟着C行不变. 在E1输入公式=MATCH(C1,A:A,0)然后下拉,接著选中C,D,E列,以E列为标 ...
- 如何让微信里的html应用弹出“点击右上角分享到朋友圈”的图片
一个分享按钮,一个隐藏的图片(这个图片绝对定位在右上角)然后就是点击显示,点击隐藏了... <a href="javascript:;" onclick="docu ...