关于在ubuntu上源码安装TensorFLow-1.7.0-cuda9.1-cudnn7.1.2过程中问题解决方案

TensorFlow1.7.0-cuda9.1-cudnn7.1.2-linux86-64.cp36的安装包地址:https://space.oldpan.me/d/8018f162a3b2477e9b8b/

前言

实验室服务器上装载的cuda版本是最新的9.1,和从官网下载下来的TensorFlow不匹配,因为官方的是通过cuda9.0进行编译的。因此,这篇文章讨论关于Tensorflow源码安装的一些心得和过程,讨论安装Tensorflow版本兼容问题和cuda版本选择问题,最终实现在ubuntu16.04下通过源码安装TensorFlow-1.7.0,可以在cuda-9.1-cudnn7.1.2环境下正常工作。

过程详解

安装方法

安装TensorFlow的方法有很多,大多数人选择whl包安装,也就是从官网下载编译好的whl包并进行下载,通过pip命令下载并安装。这种方法是最为适用和最为普通的,一般来说只要按照正常操作安装和使用TensorFlow-CPU版是没问题的。但是——好吧,为什么要安装cuda9.1呢?为什么不用cuda9.0呢?很无奈啊,有新的当然用新的,但这也导致了不兼容的问题,到目前为止,官网编译好的安装包并不支持cuda9.1,因此我们需要自己进行编译。

也就是我们选择第二条路,源码安装的方法。

源码安装

源码安装比起直接用whl包来安装稍微复杂一些,安装教程很多地方都写了出来,我这里也不赘述了,

下面是TensorFlow源码安装的教程地址:

  • http://www.python36.com/install-tensorflow141-gpu/
  • https://www.tensorflow.org/install/install_sources#common_installation_problems

其中第二篇为官方的教程,官方教程中有相关的步骤以及常见编译遇到的问题,强烈推荐。

其中我遇到的问题是bazel编译工具版本问题,现在从ppa上apt-get进行下载都是0.12.0 stable版本,用这个版本对TensorFlow进行编译时会出现编译错误的,换成0.11.1版本就好了。在第一篇教程中有详细的安装步骤。

遇到的问题

我安装上面的教程上面的步骤编译好TensorFlow包之后,编译成功了,使用我的cuda9.1和cudnn7.1.2,但是在安装我编译好的whl之后还是不能用。

出现了以下问题:ImportError: libcublas.so.9.1: cannot open shared object file: No such file or directory 

要注意,这个问题与你的编译文件无关,你系统是cuda9.1你安装的TensorFlow是cuda9.1,但上面的问题还是出现,那么说明你在安装cuda9.1的时候有一些配置文件没有正确进行配置,也就是一些文件找不到?找不到并不是意味着不在,而是没有通过正确的路径来找。

依次执行以下命令(软连接):

sudo ln -s /usr/local/cuda-9.1/lib64/libcublas.so.9.1 /usr/lib/libcublas.so.9.1
sudo ln -s /usr/local/cuda-9.1/lib64/libcusolver.so.9.1 /usr/lib/libcusolver.so.9.1
sudo ln -s /usr/local/cuda-9.1/lib64/libcudart.so.9.1 /usr/lib/libcudart.so.9.1
sudo ln -s /usr/local/cuda-9.1/lib64/libcudnn.so.7 /usr/lib/libcudnn.so.7
sudo ln -s /usr/local/cuda-9.1/lib64/libcufft.so.9.1 /usr/lib/libcufft.so.9.1
sudo ln -s /usr/local/cuda-9.1/lib64/libcurand.so.9.1 /usr/lib/libcurand.so.9.1

将相应的文件和你的cuda路径进行软连接,这是默认安装路径,如果你的路径不一样,需要修改上面的代码!

软连接后就可以正常import TensorFlow了。cuda,cudnn正常工作。

此文由腾讯云爬虫爬取,文章来源于Oldpan博客

欢迎关注Oldpan博客公众号,持续酝酿深度学习质量文:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JarvanMo的IT专栏

Ubuntu16.04.2安装KDE

最近重新安装了ubuntu kylin 16.04,之前一直用的是unity,这次心血来潮想装个KDE玩玩,然后百度了一下如何安装KDE,得到的答案大部分都是这...

952

Docker命令快速参考备忘单

Docker作为软件容器平台在软件开发商,运营商和企业中越来越受欢迎,且容器打包软件的格式可以在主机操作系统上独立运行。Docker只与基本的库和设置捆绑在一起...

551
来自专栏吉浦迅科技

【入门篇】一个小白在Jetson TX2上安装caffe的踩坑之旅

作为一个在深度学习上的小白,买Jetson TX2一个很大的原因就是想学习深度学习。那么当用Jetpack刷好板子后,第一个任务肯定是要学着安装caffe!...

43611
来自专栏深度学习与计算机视觉

Windows系统配置TensorFlow教程

我为什么选择Windows系统: 其实我们没有必要过多纠结与到底使用Linux系统还是Windows系统来学习TensorFlow,因为不管是那个系统我们关...

3026
来自专栏云计算教程系列

如何在FreeBSD 11.0上安装Git

版本控制系统是现代软件开发中不可或缺的工具。它们允许您在源级别跟踪您的软件。您可以跟踪更改,还原到以前的阶段,然后分支以创建文件和目录的备用版本。

792
来自专栏AI科技大本营的专栏

TensorFlow集成TensorRT环境配置

本文前提是cuda和cudnn以及TensorRT已经安装完毕,具体详情,可以参考上一篇文章: https://developer.nvidia-china.c...

5065
来自专栏不想当开发的产品不是好测试

nmon 使用

官网:http://nmon.sourceforge.net/pmwiki.php 步骤 1. 下载nmon到linux上; 2. 解压tar包,根据使用的li...

2129
来自专栏程序员的诗和远方

Mac上搭建一个干净的TensorFlow环境

作为一个小前端,最近想折腾下深度学习方面的东西,这不 TensorFlow 刚发布了 1.0 嘛。于是就想在我的 Mac Book 上跑一跑。

38210
来自专栏大壮

如何安装和使用cocoapods来集成第三方库(实战篇) 配置初始项目 2.cocoapods的使用

1494
来自专栏Small Code

Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)解决办法

由于我很早就在 GitHub 下载了 TensorFlow 的源码库没有更新,在运行 TensorFlow 官方的 CNN 例子的时候,总是报 ImportEr...

3199

扫码关注云+社区