TensorFlow: праймер

Простое введение в TensorFlow

TensorFlow (TF) не работает как обычная программа. Вы, наверное, привыкли писать математические операции типа a = 2+2, где a равно 4, верно?

Что ж, TF стирает грань между математическими операциями и их фактическими результатами, и вы собираетесь получить a, равный ... Tensor, WTF?

Когда вы пишете математику в TF, вы должны думать об этом как об архитекторе. Вы проектируете операции, а не вычисляете их. Исчисление произойдет на следующем этапе: все, что «происходит» в TF, «происходит» в течение сеанса. Итак, когда вы «добавляете» что-то в TF, вы разрабатываете операцию «добавления», а не фактически ничего добавляете.

Все эти операции организованы в виде графика, ваш график содержит операции и тензоры, а не значения .

когда вы что-то «добавляете» в TF, вы разрабатываете операцию «добавления», а не добавляете ничего

Когда вы запускаете то, что называется сеансом, вы фактически создаете новую область для своей программы, в которой операции могут «происходить». Здесь вы можете запускать или оценивать операции и тензоры. И когда вы это сделаете, результаты начинают распутываться: тензоры заполняются реальными значениями, операции вычисляются, результаты получаются, функции сходятся и т. Д.

Но как только вы выйдете за пределы своего сеанса, график вернется в свое статичное и довольно скучное состояние, мы снова вернемся к теории. Подводя итог, у вас есть 2 основных этапа в коде TF:

  • Уровень График: вы можете разрабатывать математические операции и операции управления потоком, которые будут различными частями вашего графика. На этом уровне вы можете только сохранить сам график и его метаданные, пока ничего осязаемого не существует.
  • Уровни Сеанс и Оценка: инициализируются переменные, настраиваются другие бухгалтерские функции, выполняются операции, вычисляются промежуточные тензоры и градиенты и т. Д.

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

Посмотреть на себя:

Только переменные сохраняют свои данные между несколькими оценками

Серия лучших практик TensorFlow

Эта статья является частью более полной серии статей о TensorFlow. Я еще не определил все различные темы этой серии, поэтому, если вы хотите увидеть какую-либо область исследования TensorFlow, добавьте комментарий! Пока что я хотел изучить эти предметы (этот список может быть изменен и не имеет определенного порядка):

Примечание. TF сейчас быстро развивается, эти статьи в настоящее время написаны для версии 1.0.0.

использованная литература