Изучите методы установки и использования TensorFlow в Ubuntu

by itisgood

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

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

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

Это изолирует вашу среду TensorFlow от других программ Python на той же машине.

Шаг 1) Установка TensorFlow

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

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

$ mkdir ~/tf-test

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

$ cd ~/tf-test

Теперь мы собираемся создать новую виртуальную среду tenorflow-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) Заполнитель

У нас не всегда могут быть константы сразу, и мы можем ожидать появления константы после цикла операций. 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.]]

 

You may also like

Leave a Comment