Как установить TensorFlow в Ubuntu

Как установить TensorFlow в Ubuntu

 

TensorFlow — это программная система с открытым исходным кодом для глубокого обучения, созданная Google для обучения нейронных сетей. TensorFlow может выполнять распознавание изображений, распознавание звука на человеческом языке и решение уравнений в частных производных.

Мы установим TensorFlow и все пакеты, необходимые для использования TensorFlow в виртуальной среде Python на Ubuntu. Это изолирует вашу среду TensorFlow от других программ Python на том же компьютере.

Установка TensorFlow

Мы собираемся создать виртуальную среду и установить TensorFlow на Ubuntu.

Сначала создайте каталог проекта с именем tf-test:

$ mkdir ~/tf-test

И переходим в наш только что созданный tf-testкаталог:

$ cd ~/tf-test

Теперь мы собираемся создать новую виртуальную среду tensorflow-venv. Выполните следующую команду, чтобы создать среду:

$ python3 -m venv tensorflow-venv

Выполните команду ниже, чтобы активировать среду.

$ source tensorflow-venv/bin/activate

Выполните следующую команду, чтобы установить и обновить до последней версии TensorFlow, доступной в PyPi.

(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 на нескольких примерах.

Шаг 1. Простые константы

Чтобы создать простую константу с помощью Tensorflow, которую TF хранит как тензорный объект:

>>> import tensorflow as tf

Мы создадим строковую константу следующим образом:

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

Чтобы узнать тип объекта hello:

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

Мы создадим целочисленную константу следующим образом:

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

Шаг 2. Запуск сессий

Теперь мы можем создать сеанс 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

Шаг 3. Операции

Мы можем выстроить несколько операций 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

Шаг 4. Placeholder

У нас не всегда могут быть константы сразу, и мы можем ждать появления константы после цикла операций. tf.placeholderинструмент для этого. Он вставляет местозаполнитель для тензора, который будет всегда загружаться.

Примечание. Этот тензор выдаст ошибку при вычислении. Его значение должно быть передано с использованием feed_dictнеобязательного аргумента Session.run().

 >>> 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

Шаг 5. Умножение матриц

Теперь воспользуемся умножением матриц. Сначала нам нужно создать матрицы:

>>> 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.]]

Заключение

В этом руководстве мы узнали, как установить TensorFlow в Ubuntu, и проиллюстрировали, как его использовать, на некоторых примерах. Надеюсь, вам понравилось читать, и оставляйте свои комментарии в разделе комментариев.