美文网首页程序员
基于VirtualEnv安装TensorFlow

基于VirtualEnv安装TensorFlow

作者: jerryyyq | 来源:发表于2018-06-25 12:28 被阅读5次

安装 VirtualEnv

  • 在 Linux 上
    可以不在 VirtualEnv 环境中直接安装
    $ pip install --upgrade <$url_to_binary.whl>
    其中的 cp?? 对应 python 版本号,必须与计算机环境中的 python 版本号一致,例如 cp34 就对应 python 3.4。
    tensorflow 版本可以自己选,0.12 我测试通过,更高的版本有 Bug。

    • python2
$ sudo apt-get install python-pip python-dev python-virtualenv
可以不在 VirtualEnv 环境中直接安装
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
    • python3
$ sudo apt-get install python3-pip python3-dev python3-virtualenv
可以不在 VirtualEnv 环境中直接安装
$ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
  • 在 Mac 上
    • 使用系统自带的 python2
$ sudo easy_install pip  # 如果还没有安装 pip
$ sudo pip install --upgrade virtualenv
    • 使用 python3
$ sudo brew install python3
$ sudo pip3 install --upgrade pip
$ sudo pip3 install --upgrade virtualenv

python3 的 Frameworks 位于:/usr/local/Cellar/python3/3.5.1/Frameworks

在 ~/tensorflow 目录下建立一个全新的 virtualenv 环境

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

激活 virtualenv

$ source bin/activate  # 如果使用 bash
$ source bin/activate.csh  # 如果使用 csh
(tensorflow)$  # 终端提示符应该发生变化

在 virtualenv 内, 安装 TensorFlow

  • 在 Linux 上
$ pip install --upgrade <$url_to_binary.whl>
  • 在 Mac 上
(tensorflow)$ pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
最后的无 gpu 版本:mac/tensorflow-0.9.0rc0-py2-none-any.whl
或者
(tensorflow)$ pip3 install https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.12.0-py3-none-any.whl

其安装路径位于:/usr/local/lib/python3.5/site-packages/tensorflow

  • 测试 tensorflow 库
$ python3
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print( sess.run(hello) )
b'Hello, TensorFlow!'
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print( sess.run(a+b) )
42
>>>

运行 TensorFlow 程序

使用类似如下命令:

(tensorflow)$ cd tensorflow/models/image/mnist
(tensorflow)$ python convolutional.py

停用 virtualenv

(tensorflow)$ deactivate

训练你的第一个 TensorFlow 神经网络模型

  • 在 VirtualEnv 目录(tensorflow)下建立一个 独立目录
$ mkdir mnist
$ cd mnist
  • 执行样例训练脚本:
$ python3 /usr/local/lib/python3.5/site-packages/tensorflow/models/image/mnist/convolutional.py
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
WARNING:tensorflow:From /usr/local/lib/python3.5/site-packages/tensorflow/models/image/mnist/convolutional.py:278 in main.: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.
Initialized!
Step 0 (epoch 0.00), 12.3 ms
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Step 100 (epoch 0.12), 573.8 ms
Minibatch loss: 3.280, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%
Step 200 (epoch 0.23), 593.9 ms
Minibatch loss: 3.491, learning rate: 0.010000
Minibatch error: 12.5%
Validation error: 3.8%
...
  • 如果使用高版本 TensorFlow 库,有可能碰到如下错误:
    • AttributeError: 'GFile' object has no attribute 'Size'

那么找到相应文件代码行,将 .Size() 改为 .size()

    • ValueError: Only call 'softmax_cross_entropy_with_logits' with named arguments (labels=..., logits=..., ...)

那么找到相应文件代码行,将:

loss = tf.nn.softmax_cross_entropy_with_logits( prediction, target_output)

改为:

loss = tf.nn.softmax_cross_entropy_with_logits( logits=prediction, labels=target_output)

相关文章

网友评论

    本文标题:基于VirtualEnv安装TensorFlow

    本文链接:https://www.haomeiwen.com/subject/egxyyftx.html