本系列文章由 @yhl_leo 出品,转载请注明出处。

文章链接: http://blog.csdn.net/yhl_leo/article/details/51280087


折腾了一下,给工作站配置了Tensorflow环境(虽然已经转战到caffe,但是由于之前体验了tensorflow,觉得有些地方还是很对我的口,两者的编译环境我都选择了python,如能珠联璧合甚好),以前使用基于Docker的安装配置,略微繁琐,而且没有记录下当时的安装步骤,使用基于pip安装后,觉得真心好简单啊,便记录于此文!

版本:

  • tensorflow:0.8.0 (GitHub: tensorflow
  • Ubuntu:14.04/15.10(亲测都可以)

1 Pip

如果已经安装过pip,可以跳过这里的安装步骤。

$ sudo apt-get install python-pip python-dev python-setuptools build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv

为了检测是否安装好,可以查看pip的版本:

$ pip --version
pip 8.1.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

2 Tensorflow

接下来,就可以按照Tensorflow Download and Setup中的Pip Installation开始安装,命令如下:

# Ubuntu/Linux 64-bit, CPU only:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl # Ubuntu/Linux 64-bit, GPU enabled. Requires CUDA toolkit 7.5 and CuDNN v4. For
# other versions, see "Install from sources" below.
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

本人安装的GPU版,因为在安装tensorflow之前,已经安装过caffe,CUDA的编译环境已经配置好了,网上关于CUDA安装教程很多,这里提供安装caffe时的一篇帖子: Ubuntu14.04 安装CUDA7.5 + Caffe + cuDNN

3 Errors

安装完成后,就可以测试,是否安装成功:

$ python
>>> import tensorflow as tf
>>>

如果输入命令后,结果跟上述的差不多,(GPU版的会有一些log信息),没有出现Error,那就说明安装好了,就可以测试使用啦。

tensorflow/tools/pip_package/setup.py中,关于几个包(numpy , six, protobuf)的版本等都有规定,如果不满足,则编译代码就会报错:

# tensorflow version
_VERSION = '0.8.0' ... REQUIRED_PACKAGES = [
'numpy >= %s' % numpy_version,
'six >= 1.10.0',
'protobuf == 3.0.0b2',
]

查看这些包的命令行是:

$ pip show numpy protobuf six

出问题比较多的是protobufsix两个包,例如:

  • protobuf
    from google.protobuf import symbol_database as _symbol_database
ImportError: cannot import name symbol_database

protobuf如果已经安装了其他版本(例如python-protobuf或低版本),先要卸载掉:

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

然后安装:

$ sudo pip install --upgrade protobuf
  • six
AttributeError: type object 'NewBase' has no attribute 'is_abstract' 

出现这个问题,应该是six包安装有问题,可以卸载原有版本,重新安装:

$ sudo pip uninstall six
$ sudo pip install six --upgrade

一般来说six包的安装位置是/usr/lib/python2.7/dist-packages,但是我在笔记本上默认安装在/usr/local/lib/python2.7/dist-packages也没问题,建议先试前者(工作站上也是前者):

$ sudo pip install six --upgrade --target="/usr/lib/python2.7/dist-packages"

关于GPU版,CUDA安装及编译问题,不在此作答~

4 Uninstall

如果想卸载掉安装的tensorflow,非常简单:

$ sudo pip uninstall tensorflow

Tensorflow 0.8.0 安装配置方法的更多相关文章

  1. mysql 5.7.13 安装配置方法(linux)-后期部分运维

    mysql 5.7.13 安装配置方法图文教程(linux) 学习了:https://www.cnblogs.com/zhao1949/p/5947938.html /usr/local/mysql是 ...

  2. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  3. m0n0防火墙安装配置方法

    m0n0防火墙安装配置方法 准备工具: vmware虚拟机 m0n0防火墙安装镜像:M0n0Wall - generic-pc-1.8.1.iso 桥接网卡ip:192.168.43.0/24 hos ...

  4. windows Sever 2012下Oracle 12c安装配置方法图文教程

    windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...

  5. mysql 5.7.12 winx64安装配置方法图文教程

    这篇文章主要为大家分享了mysql 5.7.12winx64安装配置方法图文教程,感兴趣的朋友可以参考一下   之前安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录, ...

  6. mysql 5.7.13 安装配置方法图文教程(win10) (转)

    http://www.jb51.net/article/87152.htm ***************************** MySQL是一款关系型数据库管理系统,是由Oracle旗下公司M ...

  7. mysql 5.7.15 安装配置方法图文教程(转)

    http://www.jb51.net/article/92521.htm ******************************* MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度 ...

  8. mysql 5.7以上版本安装配置方法图文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)(转)

    http://www.jb51.net/article/90302.htm ******************************* 这篇文章主要为大家分享了MySQL 5.7以上缩版本安装配置 ...

  9. mysql 5.7.14 安装配置方法图文教程(转)

    http://www.jb51.net/article/90259.htm ******************************** 因笔者个人需要需要在本机安装Mysql,先将安装过程记录如 ...

随机推荐

  1. HDU5489 LIS变形

    Removed Interval Problem Description Given a sequence of numbers A=a1,a2,…,aN , a subsequence b1,b2, ...

  2. Pointcut is not well-formed: expecting 'name pattern' at character position 36

  3. Base Class Doesn't Contain Parameterless Constructor?

    http://stackoverflow.com/questions/7689742/base-class-doesnt-contain-parameterless-constructor #regi ...

  4. 批量梯度下降(Batch gradient descent) C++

    At each step the weight vector is moved in the direction of the greatest rate of decrease of the err ...

  5. .sh文件 编写格式

    http://blog.sina.com.cn/s/blog_54f82cc201010hfz.html 介绍: 1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号# ...

  6. C/C++中的绝对值函数

    --------开始-------- 对于不同类型的数据对应的绝对值函数也不相同,在c和c++中分别在头文件math.h 和 cmath 中. int : x = abs( n ) double : ...

  7. HttpServletResponse对象,自己学习的心得

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应response对象. request和response对象既然代表请求和响应,那我们要 ...

  8. Microsoft Azure Storage Explorer

    上周主管说,要把每次开过的发票,要下载成Pdf的文件,然后就实时的将这些发票存到云上面去. 就是这个Microsoft Azure ,微软的亲儿子. 先把代码贴上来吧,挺简单的. ##.链接账号密码 ...

  9. Java:Java 队列的遍历

    Java队列到底有没有可以遍历的功能呢?暂且试一下吧 参考链接:stl容器遍历测试 1.LinkedList实现简单遍历 for(Iter =LocTimesSerials.size()-1; iSe ...

  10. MFC 添加文件路径 遍历文件

    .添加MFC选择文件路径,使用MessageBox显示信息. void CMyCalLawsDlg::OnBnClickedAddfolder() { wchar_t* p; wchar_t szPa ...