本系列文章由 @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. Django网站管理--ModelAdmin

    class AuthorAdmin(admin.ModelAdmin): list_display=('name', 'age', 'sex') #指定要显示的字段 search_fields=('n ...

  2. linux patch 命令小结【转】

    本文转载自:http://blog.csdn.net/wh_19910525/article/details/7515540 说到patch命令,就不得不提到diff命令,也就是制作patch的必要工 ...

  3. case when in sql server's stored procedure

    https://docs.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql Evaluates a list of c ...

  4. ledisDB底层实现——本质上就是用leveldb这样的底层存储,和ssdb一样,meta里存的是hash、list等的元数据

    Hash hash可以算是一种两级kv,首先通过key找到一个hash对象,然后再通过field找到或者设置相应的值. 在ledisdb里面,我们需要将key跟field关联成一个key,用来存放或者 ...

  5. 比较两个map里的数据

    template <class DataType>void ProcessMap(std::map<std::string, std::vector<DataType> ...

  6. iOS手势识别

    一.手势识别与触摸事件 1.如果想监听一个view上面的触摸事件,可选的做法是: (1)自定义一个view (2)实现view的touches方法,在方法内部实现具体处理代码 2.通过touches方 ...

  7. [SpringMVC]定义多个前缀映射的问题

    转自:https://penciltim.iteye.com/blog/501073 我在web.xml里面定义多个dispatch-servlet的前缀映射,像下面这样 <!-- Servle ...

  8. TP5.x——聊天列表查询

    前言 查询聊天列表,并返回最后一条聊天记录.这个有一个比较尴尬的点就是,一个是你主动发出的,一个是你接收的. 所以这个SQL会比较长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长 ...

  9. weui&flexible布局

    1.weui 一开始以为只能用于小程序中,原来分两种:weui-wxss-master和weui-master.真的是强大的不得了,把设计好的样式和功能封装.然后分类,有明确的层级和逻辑,感动!!值得 ...

  10. B - Taxi(贪心)

    Problem description After the lessons n groups of schoolchildren went outside and decided to visit P ...