jason's blog

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

windows下某些tensorflow例子跑不成功,比如https://www.tensorflow.org/tutorials/wide 中的例子报下面的错误:‘

'NoneType' object has no attribute 'bucketize'

因此决定在Linux环境上安装tf。

 

楼主用的linux系统为ubuntu-16.04.2-desktop-amd64, 安装在virtualbox 5.1.18版本上。 

注意unbuntu需要是64位的!!! tensorflow官方安装包目前不支持32位的os。 

1. 配置pip环境

   1) 安装pip: 

sudo apt install python3-pip

 2) 更新pip源

   国外的pip源不稳定, 添加国内豆瓣的pip源

   在主目录下创建.pip文件夹

 mkdir ~/.pip

 然后在该目录下创建pip.conf文件编写如下内容:

[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple

 3) 将pip版本从8.1.1升级成9.0.1

 sudo -H pip3 install --upgrade pip

2. 下载tensorflow whl文件并安装

   https://pypi.python.org/pypi/tensorflow有tensorflow版本列表:

   

 我们选择与python 3.5对应的tensorflow版本。直接安装tensorflow whl的命令为: 

sudo -H pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl

  由于tensorflow的whl较大, 可能由于网络不稳定下载失败。 也可以用迅雷将whl下载下来,然后安装,对应安装命令为:

sudo -H pip3 install --upgrade tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl

 上面的whl路径根据实际情况修改。

   我这里安装log如下:

jason@jason-ub:/media/sf_vmshare$ sudo -H pip3 install --upgrade tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl 
Processing ./tensorflow-1.0.1-cp35-cp35m-linux_x86_64.whl
Requirement already up-to-date: six>=1.10.0 in /usr/lib/python3/dist-packages (from tensorflow==1.0.1)
Collecting numpy>=1.11.0 (from tensorflow==1.0.1)
  Downloading numpy-1.12.1-cp35-cp35m-manylinux1_x86_64.whl (16.8MB)
    100% |████████████████████████████████| 16.8MB 66kB/s 
Requirement already up-to-date: wheel>=0.26 in /usr/lib/python3/dist-packages (from tensorflow==1.0.1)
Collecting protobuf>=3.1.0 (from tensorflow==1.0.1)
  Downloading protobuf-3.2.0-cp35-cp35m-manylinux1_x86_64.whl (5.6MB)
    100% |████████████████████████████████| 5.6MB 174kB/s 
Collecting setuptools (from protobuf>=3.1.0->tensorflow==1.0.1)
  Downloading setuptools-34.3.2-py2.py3-none-any.whl (389kB)
    100% |████████████████████████████████| 399kB 717kB/s 
Collecting packaging>=16.8 (from setuptools->protobuf>=3.1.0->tensorflow==1.0.1)
  Downloading packaging-16.8-py2.py3-none-any.whl
Collecting appdirs>=1.4.0 (from setuptools->protobuf>=3.1.0->tensorflow==1.0.1)
  Downloading appdirs-1.4.3-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools->protobuf>=3.1.0->tensorflow==1.0.1)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 1.3MB/s 
Installing collected packages: numpy, pyparsing, packaging, appdirs, setuptools, protobuf, tensorflow
  Found existing installation: pyparsing 2.0.3
    Not uninstalling pyparsing at /usr/lib/python3/dist-packages, outside environment /usr
  Found existing installation: setuptools 20.7.0
    Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed appdirs-1.4.3 numpy-1.12.1 packaging-16.8 protobuf-3.2.0 pyparsing-2.2.0 setuptools-34.3.2 tensorflow-1.0.1

3. 测试安装效果

    为了验证安装效果, 我们跑一下https://www.tensorflow.org/tutorials/wide中的线性模型示例。

    从https://github.com/tensorflow/tensorflow将tensorflow的所有代码下载下来。 

    这个例子需要依赖pandas,如果没有安装过,可以用下面命令安装:

sudo pip3 install pandas

  然后进入tensorflow-master/tensorflow/examples/learn目录。 运行: 

     python3.5 wide_n_deep_tutorial.py --model_type=wide

    结果符合预期:

    

  注意直接用python不行, 默认python是 2.7版本。 

  

 也可以修改~/.bashrc, 添加:

alias python='/usr/bin/python3.5'

 然后: 

source ~/.bashrc

 这样后续可以直接使用python命令。  

 

 如果有six包相关报错, 可以执行下面的命令安装six:

sudo easy_install --upgrade six

 

  

  

 

 

 
posted on 2017-03-26 18:42  jasonzhusmile  阅读(8336)  评论(0编辑  收藏  举报