tsvico的博客

好的代码像粥一样,都是用时间熬出来的

初识TensorFlow

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。

TensorFlow可被用于语音识别图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。TensorFlow完全开源,任何人都可以用。

下载与安装

二进制安装

TensorFlow Python API 依赖 Python 2.7 版本.

在 Linux 和 Mac 下最简单的安装方式, 是使用 pip 安装.

为了简化安装步骤, 建议使用 virtualenv

Ubuntu/Linux

1
2
3
4
5
# 仅使用 CPU 的版本
$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

# 开启 GPU 支持的版本 (安装该版本的前提是已经安装了 CUDA sdk)
$ pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

安装过程中可能会报错,你可以下载上边连接中文件然后本地安装

sudo pip install 下载文件的路径

如果提示权限不足请添加sudo

也可以使用镜像安装

mac os x 系统请看官方文档

这里推荐

基于 VirtualEnv 的安装

我们推荐使用 virtualenv 创建一个隔离的容器, 来安装 TensorFlow. 这是可选的, 但是这样做能使排查安装问题变得更容易.

首先, 安装所有必备工具:

1
2
3
4
5
6
# 在 Linux 上:
$ sudo apt-get install python-pip python-dev python-virtualenv

# 在 Mac 上:
$ sudo easy_install pip # 如果还没有安装 pip
$ sudo pip install --upgrade virtualenv

接下来, 建立一个全新的 virtualenv 环境. 为了将环境建在 ~/tensorflow 目录下, 执行:

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

然后, 激活 virtualenv:

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

在 virtualenv 内, 安装 TensorFlow:

1
(tensorflow)$ pip install --upgrade <$url_to_binary.whl>

上边最后是一个URL或者路径

接下来, 使用类似命令运行 TensorFlow 程序:

1
2
3
4
5
6
7
(tensorflow)$ cd tensorflow/models/image/mnist
(tensorflow)$ python convolutional.py

# 当使用完 TensorFlow
(tensorflow)$ deactivate # 停用 virtualenv

$ # 你的命令提示符会恢复原样

安装成功

运行 TensorFlow

打开一个 python 终端:

1
2
3
4
5
6
7
8
9
10
11
12
$ python

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42
>>>
坚持原创技术分享,您的支持将鼓励我继续创作!