TensorFlow 0.9.0 从源码安装及bug修复

为了熟悉tensorflow,我采用从源码安装,期间也熟悉了linux下的一些知识,解决了一些问题,记录如下:

版本:

  • tensorflow:0.9.0 (GitHub: tensorflow
  • Ubuntu:14.04 64位(32位不可以,亲测有效)

安装:

 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

  csdn(推荐安装步骤): 

  http://blog.csdn.net/forest_world/article/details/51306432

 

   官网安装步骤:

  www.tensorflow.org/   (有点混乱,建议使用csdn上步骤)

  github版本:

  https://github.com/tensorflow/tensorflow

 

 编译时错误(内存错误和包安装版本不对)

编译时:virtual memory exhausted: Cannot allocate memory

 

内存不足。

解决方法:http://blog.csdn.net/taiyang1987912/article/details/41695895

 

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

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

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

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

# tensorflow version
_VERSION = '0.9.0'

...

REQUIRED_PACKAGES = [
    'numpy >= %s' % numpy_version, 'six >= 1.10.0', 'protobuf == 3.0.0b2', ]

查看这些包的命令行是:

$ pip show numpy protobuf six

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

 

  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)

 

  • 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,建议先试前者(工作站上也是前者),如果six版本还是没有改变,则指定安装位置,如下:

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

此处我的pip出现错误了,提示缺少utils包。

解决方法:在python官网上下载pip最新的源码,python setup.py install

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

4 Uninstall

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

$ sudo pip uninstall tensorflow

转载于:https://www.cnblogs.com/xiaodi914/p/5687477.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值