如何在ubuntu上安装tensorflow

时间:2020-03-05 15:28:24  来源:igfitidea点击:

Tensorflow是由Google建造的一个开源深度学习软件系统,用于运行神经网络.Tensorflow可以执行镜像识别,人类语言识别和解决部分微分方程。

我们将安装TensorFlow和在Ubuntu上使用Python虚拟环境中使用tensorflow所需的所有包。
这将从同一台计算机上的其他Python程序隔离为TensorFlow环境。

安装tensorflow.

我们将创建一个虚拟环境并在Ubuntu上安装TensorFlow。

首先,创建一个名为"TF-Test"的项目目录:

$mkdir ~/tf-test

并导航到我们新创建的TF-Test目录:

$cd ~/tf-test

现在我们将创建一个新的虚拟环境tensorflow-venv
运行以下命令以创建环境:

$python3 -m venv tensorflow-venv

运行以下命令以激活环境。

$source tensorflow-venv/bin/activate

运行以下命令以安装和升级到PYPI中可用的最新版本的Tensorflow。

(tensorflow-venv)$pip install --upgrade tensorflow
Output
Collecting tensorflow
  Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
    100% |████████████████████████████████| 39.3MB 35kB/s
...
Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30

现在让我们了解如何使用TensorFlow进行一些示例。

01)简单的常数

要使用TensorFlow创建简单的常量,TF存储作为Tensor对象:

>>> import tensorflow as tf

我们将创建字符串常量,如下所示:

>>> hello = tf.constant('Hello World')

知道对象的类型`你好:

>>> type(hello)
output
    tensorflow.python.framework.ops.Tensor

我们将创建整数常量,如下所示:

>>> x = tf.constant(300)
>>> type(x)
output
    tensorflow.python.framework.ops.Tensor

02)运行会话

现在我们可以创建一个TensorFlow会话,这是一个用于运行TensorFlow操作的类。

>>> sess = tf.Session()
>>> sess.run(hello)
output
    b'Hello World'

B为Unicode指示。

>>>type(sess.run(hello))
output
    bytes

对于第二个常数。

>>> sess.run(x)
output
    300
>>>type(sess.run(x))
output
    numpy.int32

03)操作

我们可以将多个TensorFlow操作排列在会话期间运行:

>>> x = tf.constant(20)
    >>> y = tf.constant(30)
>>> with tf.Session() as sess:
            print('Operations with Constants')
            print('Addition',sess.run(x+y))
            print('Subtraction',sess.run(x-y))
            print('Multiplication',sess.run(x*y))
            print('Division',sess.run(x/y))
output
    Operations with Constants
    Addition 50
    Subtraction -10
    Multiplication 600
    Division 0.666666666667

04)占位符

我们可能并不总是立即拥有常量,我们可能正在等待在运营循环后出现的常量。
tf.placeholder是一个工具。
它插入占位符,以便始终喂食。

注意:如果评估,则此张量将产生错误。
它的价值必须使用向session.run()feed_dict可选参数来供给。

>>> x = tf.placeholder(tf.int32)
    >>> y = tf.placeholder(tf.int32)

我们将定义操作。

>>> add = tf.add(x,y)
    >>> sub = tf.sub(x,y)
    >>> mul = tf.mul(x,y)

我们将创建字典以进行操作。

>>> d = {x:20,y:30}
>>> with tf.Session() as sess:
            print('Operations with Constants')
            print('Addition',sess.run(add,feed_dict=d))
            print('Subtraction',sess.run(sub,feed_dict=d))
            print('Multiplication',sess.run(mul,feed_dict=d))
output
    Operations with Constants
    Addition 50
    Subtraction -10
    Multiplication 600

05)矩阵乘法

现在我们将使用Matrix乘法。
首先,我们需要创建矩阵:

>>> import numpy as np
>>> a = np.array([[5.0,5.0]])
    >>> b = np.array([[2.0],[2.0]])
>>> print(a)
output
    array([[ 5.,  5.]])
>>> print(a.shape)
output
    (1, 2)
>>> print(b)
output
    array([[ 2.],
       [ 2.]])
>>> print(b.shape)
output
    (2, 1)

现在我们将创建恒定的张量对象。

>>> mat1 = tf.constant(a)
    >>> mat2 = tf.constant(b)

矩阵乘法操作:

>>> matrix_multi = tf.matmul(mat1,mat2)

现在我们运行会话以执行操作:

>>> with tf.Session() as sess:
            result = sess.run(matrix_multi)
            print(result)
output
    [[ 20.]]