Как установить 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, и проиллюстрировали, как его использовать, на некоторых примерах. Надеюсь, вам понравилось читать, и оставляйте свои комментарии в разделе комментариев.