Рубрики
Без рубрики

Учебник Python Tensorflow

Tensorflow, Tensorflow Tensorflow, Tensorflow Tensorflow, Tensorflow Примеры, установка Tensorflow, Машинное обучение с Tensorflow, Начало работы с Tensorflow, Tensorflow Начало работы, Узнайте Tensorflow.

Автор оригинала: Pankaj Kumar.

Tensorflow Был разработан для внутреннего использования Google Google Magn Compare, но система достаточно общего, чтобы их применяться к широкому разнообразию доменов. 9 ноября 2015 года они решили открыть исходный и выпустить его в соответствии с лицензией открытого исходного кода Apache 2.0. Сегодня мы рассмотрим основные основы Tensorflow, а затем некоторые программы примера Tensorflow Python.

Tensorflow

Tensorflow использует различные методы оптимизации, чтобы сделать расчеты более эффективными. Когда дело доходит до вычисления на несколько машин и включает в себя огромные наборы данных, Tensorflow предлагает высокую масштабируемость. Эти функции собраны вместе, делают Tensorflow идеальной рамками для машинного обучения.

Терминологии Tensorflow

В этом посту мы узнаем больше о Tensorflow и узнаем некоторые примеры, чтобы увидеть, как Tensorflow можно использовать для визуализации, настройки и отладки библиотек, созданных с ним, но прежде чем мы будем работать с Tensorflow, мы должны знать, что являются тензорами и тензором Единицы измерения.

Тензоры

Tensor является центральным устройством данных в Tensorflow. Он состоит из примитивных значений, хранящихся в форме многомерного массива. Количество размеров тензор называется его Ранг Отказ

Tensor ранг 0 – это просто скаляр Отказ Чтобы сохранить вещи простыми, мы можем сказать, что тензор довольно необычное название массива, и теперь мы называем номер измерения в качестве ранга. Давайте посмотрим, какие тензоры выглядят:

Тензор на 1 ранг:

[1,2,3,4]

Тензор на 2 ранга:

[[1,2,3,4,],[5,6,7,8]]

Блоки для обработки тензора (TPU)

TPU – это программируемый AI Accelerator, предназначенный для обеспечения высокой пропускной способности арифметики с низкой точностью. Он направлен на использование или эксплуатацию моделей, а не обучение их. Как объявлено Google, они бегут в TPU внутри своих центров обработки данных более года и нашли их для обеспечения порядок более оптимизированной производительности на ватту для машинного обучения.

TPU второго поколения доставляют до 180 терафлопов производительности, а также при организации в кластеры 64 TPU, предоставляют до 11,5 петафлопа.

Начало работы с Tensorflow

Мы начнем с установки Tensorflow.

Установка Tensorflow

Мы будем использовать Tensorflow Python API, он работает с Python 2.7 и Python 3.3, а затем.

Только для Linux: версия GPU требует CUDA 7.0. + И CUDNN C2 +.

После того, как у вас есть эти требования, выполненные, вы можете начать с установки. Для установки мы можем использовать любую предание, либо PIP, в зависимости от того, что вам удобнее.

Установка PIP стандартная для установки, используя PIP, просто запустив следующую команду в вашем терминале (Sudo не является обязательным):

$ pip install tensorflow

Или вы можете установить с помощью CODA, используя следующую команду:

$ conda create --name TensorflowEnv biopython
$ source activate TensorFlowEnv
$ conda install tensorflow

Мы устанавливаем биопатон в первой команде, чтобы облегчить вещи, так как оно содержит еще несколько пакетов, которые нам могут понадобиться.

Используя Tensorflow

Чтобы использовать Tensorflow в любом месте вашего сценария, просто импортируйте его, используя следующий оператор импорта.

import tensorflow

Tensorflow Простые выражения

Давайте посмотрим на простые элементы, и как они выглядят как в Tensorflow, прежде чем мы на самом деле добраться до работы со своими элементами.

Константы Tensorflow

Если вам нужны константы в вашей учебной модели, вы можете использовать постоянный объект. В константах Tensorflow создаются с использованием постоянной функции.

Подпись функции:

constant(value, dtype=None, shape=None, name='Const', verify_shape=False)

Здесь форма и имя являются необязательными параметрами. Давайте попробуем создать объект, используя подпись:

myConstant = tf.constant(4.5, name="x", dtype=tf.float32)

Переменные Tensorflow

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

В переменных Tensorflow имеет большое использование, когда мы являемся учебными моделями. В качестве постоянных мы должны вызвать конструктор для инициализации переменной, начальное значение может быть передано в качестве аргумента. Создание переменной легко и может быть сделано следующим образом:

myVariable = tf.Variable(tf.zeros([1]), name="myVariable")

Если мы хотим, чтобы переменная была использована только для расчетов, и она не должна быть обучена, мы можем использовать этот тренажерный флаг, такой как это:

k = tf.Variable(tf.add(a, b), trainable=False)

Переменные могут быть легко добавлены к вычислительному графу, позвонив конструктору.

Сеансы Tensorflow

Сеанс инкапсулирует контроль и состояние выполнения Tensorflow. Урок сеанса принимает параметр графа. Если мы не передам никаких параметров на сеанс, он будет использовать график по умолчанию, созданный на текущем сеансе.

Давайте посмотрим на сессию в действии, чтобы узнать его лучше:

# Import tensorflow
import tensorflow as tf

# Initialize some constants to be used in session
x = tf.constant(-2.0, name="x", dtype=tf.float32)
a = tf.constant(5.0, name="a", dtype=tf.float32)
b = tf.constant(13.0, name="b", dtype=tf.float32)

# Declare a Variable
y = tf.Variable(tf.add(tf.multiply(a, x), b))

# Assign variable initializer to init
init = tf.global_variables_initializer()

# Start the session
with tf.Session() as session:
    session.run(init)
    print(session.run(y))

Давайте начнем сеанс, запустив выше код в терминале:

Код принты 3.0, который должен быть значение Y после вычислений. Кроме того, пожалуйста, игнорируйте предупреждение перед выходом. Вы можете получить это, а также из-за нескольких версий Python и другие факторы.

Определение вычислительных графов

График вычислений является встроенным процессом в Tensorflow, нам не нужно создавать экземпляр объектов графа явно.

В Tensorflow объект графа может быть создан с помощью простой строки кода, такой как:

c = tf.add(a, b)

Это создает узел операции для суммирования двух чисел.

Tensorflow Placeholder.

Если мы хотим вводить данные в график вычисления, мы должны использовать механизм, названный в качестве заполнителя. Заполнители связаны внутри некоторых выражений. Типичный заполнитель выглядит как:

placeholder(dtype, shape=None, name=None)

Защитники позволяют нам не предоставлять данные заранее для операций и графиков вычислений, и данные могут быть добавлены во время выполнения от внешних источников.

Давайте посмотрим на пример. Мы постараемся умножить два целых числа в Tensorflow путь, мы будем использовать здесь заполнители:

import tensorflow as tf
# Declare placeholders, Notice we didn't pass any values here
x = tf.placeholder(tf.float32, name="x")
y = tf.placeholder(tf.float32, name="y")
z = tf.multiply(x, y, name="z")
# Start the session to see the result, and pass values from the feed
with tf.Session() as session:
    print(session.run(z, feed_dict={x: 2.6, y: 2.0}))

Давайте запустим программу и посмотрим, что мы получаем:

Математика с Tensorflow

У нас уже было кратко о тензорах, здесь мы посмотрим, как мы можем преобразовать numpy массив в тензор. Для преобразования мы должны использовать встроенные функции convert_to_tensor Отказ Эта функция принимает тензорные объекты, Numpy массивы, Списки Python и Python скаляры. Попробуем преобразовать 2-D массив в тензор.

import tensorflow as tf
import numpy as np

# create several numpy arrays
tensor_2d = np.array(np.random.rand(4, 4), dtype='float32')
tensor_2d_1 = np.array(np.random.rand(4, 4), dtype='float32')
tensor_2d_2 = np.array(np.random.rand(4, 4), dtype='float32')

# convert to tensor
m1 = tf.convert_to_tensor(tensor_2d)
m2 = tf.convert_to_tensor(tensor_2d_1)
m3 = tf.convert_to_tensor(tensor_2d_2)

# perform matrix operation on tensors
mat_product = tf.matmul(m1, m2)
mat_sum = tf.add(m2, m3)
mat_det = tf.matrix_determinant(m3)

# run session and see the results
with tf.Session() as session:
    print(session.run(mat_product))
    print(session.run(mat_sum))
    print(session.run(mat_det))

Давайте запустим код:

Мы пробовали некоторые матричные операции выше с TensorFlow, но как насчет элементных операций, таких как синус, косинус. Хорошо, что процесс остается прежним, однако, если мы попробуем операцию косинуса на векторе, результаты, настолько формируемые, будут элементными. Давайте посмотрим на это в действии с помощью примера:

import numpy as np
import tensorflow as tf

# Create a numpy array
tensor_1d = np.array([0, 0, 0])

# Convert to tensor
tensor = tf.convert_to_tensor(tensor_1d, dtype=tf.float64)

# Run and let's find cos of this tensor
with tf.Session() as session:
    print(session.run(tf.cos(tensor)))

Теперь давайте запустим это:

Машина обучения с Tensorflow

Мы посмотрим на минимальный пример машинного обучения и того, как мы можем работать алгоритм, как линейная регрессия с Tensorflow.

Линейная регрессия

Линейная регрессия представляет собой широко используемый алгоритм в области машинного обучения. Этот алгоритм основан на двух важных концепциях машинного обучения: функция затрат и градиентного происхождения.

Итак, давайте поработаем этот алгоритм с Tensorflow:

import tensorflow as tf
import numpy as np

# Declare some imporant constants
test_data_size = 2000
iterations = 10000
learn_rate = 0.005
 
# Generate Test Values
def generate_test_values():
    train_x = []
    train_y = []
 
    for _ in range(test_data_size):
        x1 = np.random.rand()
        x2 = np.random.rand()
        x3 = np.random.rand()
        y_f = 2 * x1 + 3 * x2 + 7 * x3 + 4
        train_x.append([x1, x2, x3])
        train_y.append(y_f)
 
    return np.array(train_x), np.transpose([train_y])

# Create place holders for various values
x = tf.placeholder(tf.float32, [None, 3], name="x")
W = tf.Variable(tf.zeros([3, 1]), name="W")
b = tf.Variable(tf.zeros([1]), name="b")
y = tf.placeholder(tf.float32, [None, 1])
 
model = tf.add(tf.matmul(x, W), b)
# Compute cost function
cost = tf.reduce_mean(tf.square(y - model))
# Training Model
train = tf.train.GradientDescentOptimizer(learn_rate).minimize(cost)
 
train_dataset, train_values = generate_test_values()
 
init = tf.global_variables_initializer()
 
with tf.Session() as session:
    session.run(init)
 
    for _ in range(iterations):
 
        session.run(train, feed_dict={
            x: train_dataset,
            y: train_values
        })
 
    print( "cost = {}".format(session.run(cost, feed_dict={
        x: train_dataset,
        y: train_values
    })))
 
    print( "W = {}".format(session.run(W)))
    print( "b = {}".format(session.run(b)))

Давайте запустим программу. Выходные параметры W и B должны быть такими же, как те, которые определены в функции Generate_Test_Values:

Учебник Tensorflow Python

В этом уроке мы видели, что Tensorflow – это мощная структура и позволяет легко работать с несколькими математическими функциями и многомерными массивами, она также позволяет легко выполнить графики данных и масштабирование.

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