Linux 配置tensorflow

9 篇文章 0 订阅
2 篇文章 0 订阅

protobuf 的安装
protobuf-master使用源码编译的时候报错,在make check 的时
候有两项编译不成功
使用prtobuf-2.6.1安装

tar -zvxf protobuf-2.6.1.tar.gz
apt-get install build-essential
cd protobuf-2.6.1/
./configure
make 
make check
sud make install

检查安装是否成功
protoc –version
安装成功出现 libprotoc 2.6.1
可能会出现如下错误:
protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object file: No such file or directory
这是因为protobuf 的默认安装路径是 /usr/local/lib ,但是 /usr/local/lib 不在ubuntu的默认 LD_LIBRARY_PATH中
解决方法是在 /etc/ld.so.conf.d/目录下创建一个 xx.conf文件,输入/usr/local/lib
输入sudo ldconfig

/etc/ld.so.conf.d/目录下文件的作用:
程序运行时,加载动态库的几种方法

  • 通过ldconfig命令。用途是在默认搜寻目录 /lib 和 /usr/lib,以及动态配置文件 /etc/ld.so/conf内所列的目录下,搜寻出可共享的动态链接库(格式如 lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为 /etc/ld.so.cache ,此文件保存以排好序的动态链接库名字
  • 通过LD_LIBRARY_PATH 环境变量。可以通过在 .bashrc中配置环境变量,LD_LIBRARY_PATH是告诉loader哪里可以找到共享库,例如 export LD_LIBRARY_PATH = $LD_BRARY_PATH:/usr/local/lib
  • 通过编译选项 -WI ,-rpath 指定动态搜索的路径。-WI 告诉编译器将后面的参数传递给链接器。

cudnn 5.1安装
share cudnn.so : no such file or directory解决
原因是 cudnn.so文件不在系统的 lib 路径里,cudnn的路径为 /usr/local/cuda-8.0/lib64 下,将其软链接或者复制道 /usr/local/lib文件夹下,之后ldconfig

查看cudnn版本 查看cuda 版本

cat /usr/local/cuda/version.txt 
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

源码安装tensorflow
根据官网的指示步骤安装
./configure 是软件的组态设置文件,产生对应平台的 Makefile
make 是根据 Makefile 的内容,编译出符合平台的可执行文件
make install 安装编译成功的软件
make clean 清除编译成功的 obj 和 binary
make check 在make 执行完之后检查 make 生成的库是否正确

在 ./configure 之后报错
you provided a non dictionary to the pkg_tar files attribute. This attribute was renamed to srcs. Consider renaming it in your BUILD file.
修改 BUILD 文件中的 files 后依旧报错
改用下载 tensorflwo.whl文件
下载地址是 https://storage.googleapis.com/tensorflow/
这是一个xml文件,在里面找到自己需要的版本后下载
whl文件本质是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。

出现错误:Couldn’t open CUDA library libcupti.so.8.0.
这是因为tensorflow版本默认寻找cupti的路径不同,通过寻找 libcupti.so.8.0 的路径并将其加入到LD_LIBRARY_PATH

 export LD_LIBRARY_PATH=/usr/local/cuda-8.0/extras/CUPTI/lib64

LD_LIBRARY_PATH 是ubuntu的环境变量名,用于查找共享库(动态链接库)时,除了默认的路径之外的其他路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值