Tensorflow的安装

虽然官网已经写的很清楚了,但是自己安装的时候还是有坑,出现了好多错,特此记录

官网步骤

我是用的virtualenv,按照官网的步骤来,先说明此步骤对你不一定成功:

<1> 安装pipvirtualenv环境

# Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev python-virtualenv

<2>创建虚拟环境目录

$ virtualenv --system-site-packages ~/tensorflow

<3>激活虚拟环境

$ source ~/tensorflow/bin/activate  # If using bash
$ source ~/tensorflow/bin/activate.csh  # If using csh
(tensorflow)$  # Your prompt should change

<4>使用预编译好的安装包安装

最新要求cuda7.5cudnnV5

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below.
(tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl

# Python 2
(tensorflow)$ pip install --upgrade $TF_BINARY_URL

# Python 3
(tensorflow)$ pip3 install --upgrade $TF_BINARY_URL

官网的步骤就到此为止了,理论上你应该装好了

测试

需要测试下:

官网的测试地址

按照此测试做,发现错了,具体是执行:

python -m tensorflow.models.image.mnist.convolutional

Loaded CuDNN library: 5005 (compatibility version 5000) but source was compiled with library 5103 (compatibility version 5100) 

提示cudnn版本低,这是第一个坑

后来我重新升级了cudnn之后,再去测试,这次这个过了,但是又有其它错,具体是:

使用ipython导入tensorflow出错无法导入,但是python下可以直接导入

AttributeError: type object 'NewBase' has no attribute 'is_abstract'

这个官方有解决方法,具体见:

NewBase错误

错误的排除

cudnn版本低

官方说是使用cuda7.5+cudnnV5,实际是使用cuda7.5+cudnnV5.1才行

所以升级到5.1版本的就没问题了

ipython导入出错

(1) 创建虚拟目录时候不要使用--system-site-packages选项, 之后自己进去安装numpy,matplotlib,six这三个包 尤其注意six需要1.8.0以后的版本

(2) 升级到1.8.0之后的版本就没问题了

实例

10月7号新增:

由于需要在本机(没有GPU环境)下进行本机调试,所以我在本机上安装了cpu版本的tensorflow,又出现了几个错,特此记录

Error 1:

无法升级通过apt-get安装的软件

通过apt-get安装的numpy等,默认的位置在/usr/lib/python2.7下,所以你要是使用sudo apt-get remove,会告诉你xxxx owned by OS

解决方法: 直接进入/usr/lib下删除相应的软件文件即可,结果是pip会使用/usr/local/lib/python2.7下的软件(通过pip安装的)

Error 2:

ImportError: numpy.core.multiarray failed to import

原因是: tensorflow需要的numpy版本大于本机自带的numpy版本

解决方法: 删除/usr/lib/python2.7下的numpy,使用pip进行安装numpy即可

sudo rm -fR /usr/lib/python2.7/numpy*
sudo pip install numpy

Error 3:

ImportError: cannot import name symbol_database

解决方法: 升级protobuf

sudo apt-get remove python-protobuf
sudo pip uninstall protobuf
sudo pip install protobuf

此时在ipython下导入import tensorflow as tf, 没有问题

参考资源

  1. tensorflow安装问题的yhl_leo的博客
  2. tensorflow官方安装文档

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏jiajia_deng

Cmder git 中文显示乱码解决方案

Cmder 是 Windows 下替换原有 cmd 的绝佳工具,但是与默认的 cmd 一样,都与 git 命令行存在一些兼容性问题,比如中文乱码问题。在 Cmd...

852
来自专栏木制robot技术杂谈

Python无法使用curses库解决方案

错误信息 ImportError: No module named '_curses' 运行环境 1.ubuntu 14.04 2.python 3.5 解决...

2959
来自专栏Android相关

AndroidStudio出现UnsupportedClassVersionError

Android Studio升级到2.0之后,Build Tool也随着更新了,然后运行了原来的工程后,突然出现了,如下异常

862
来自专栏惨绿少年

重定向、别名、绝对路径、相对路径 详解

第1章 Linux命令基础 1.1 习惯 操作前备份,操作后检查 1.2 简单目录结构 一切从根开始,与windows不同 1.3 规则 [root@znix ...

1950
来自专栏每日一篇技术文章

Java_开发环境搭建(MAC)_02

![71AF0D75-9EC8-457F-AC16-FD446F6C1C4F.png](http://upload-images.jianshu.io...

722
来自专栏破晓之歌

Eclipse上通过Pydev使用python

转载自:http://www.cnblogs.com/linzhenjie/articles/2639113.html

571
来自专栏Java架构

Java 程序员须知道和掌握的 Linux 命令

1583
来自专栏Linux驱动

linux下使用gcc编译运行C程序

gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和...

1807
来自专栏DannyHoo的专栏

利用终端进行自动打包--Xcodebuild

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1082
来自专栏码农分享

Cordova 实现热更新

文章来源 http://blog.csdn.net/zhuzhiqiang_zhu/article/details/53608398 一、添加插件 说明:...

983

扫码关注云+社区