Выпущена альфа-версия TensorFlow 2.0! Приходите попробовать прямо сейчас!

TensorFlow

Авторы: Вольф Добсон и Джош Гордон

TensorFlow 2.0 ориентирован на простоту использования, с API-интерфейсами для начинающих и ветеранов для создания моделей машинного обучения. существуетНовое в TensorFlow 2.0иСтандартизация КерасаВ наших недавно опубликованных статьях мы представили ее новые функции и направление развития платформы.

Мы анонсировали альфа-версию TensorFlow 2.0 на саммите разработчиков TensorFlow, и пользователи теперь находятся в раннем доступе.

Примечание. Ссылка TensorFlow Developer Peak

https://www.tensorflow.org/dev-summit

Руководство по началу работы

Лучший способ освоить TensorFlow 2.0 Alpha — перейти на новый веб-сайт TensorFlow. Вы можете найти учебные пособия и руководства для альфа-версии по адресу tensorflow.org/alpha. Каждое руководство в альфа-документации автоматически загружает и устанавливает TensorFlow 2.0 Alpha, и это еще не все!

Примечание: ссылка на tensorflow.org/alpha

https://www.tensorflow.org/alpha

Мы рекомендуем вам просмотреть пример «Hello World» для начинающих и ветеранов, прежде чем читатьEffective TensorFlow 2.0руководство.

  • В примере для начинающих используется Keras Sequential API, который является самым простым способом начать работу с TensorFlow 2.0.

  • Ветеранский пример Показывает, как императивно писать прямые проходы, как писать собственные обучающие циклы с помощью GradientTape и как использовать tf.function для автоматической компиляции кода (всего одной строкой кода!)

Примечание: ссылка на пример для начинающих

https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/beginner.ipynb

Ссылка на пример ветерана

https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/r2/tutorials/quickstart/advanced.ipynb

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

  • Важные рекомендации AutoGraph (позволяет получить полную производительность и переносимость ваших графиков без написания кода на уровне графика)

  • кодОбновитьРекомендации (удобно конвертировать скрипт в Код TensorFlow 1.x преобразован в код 2.0)

  • Другие начальные руководства по Керасу

Примечание: ссылка на руководство

https://github.com/tensorflow/docs/tree/master/site/en/r2/guide

Ссылка на автограф

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

Кера ссылка

https://github.com/tensorflow/docs/tree/master/site/en/r2/guide/keras

Если вы хотите увидеть, что изменилось, вы также можете просмотреть версию справочника по API (теперь со значительно меньшим количеством символов). Обратите внимание, что пока мы активно разрабатываем TensorFlow 2.0, целевая страница tensorflow.org по умолчанию по-прежнему использует документацию 1.x. Если вы планируете изучить справочник по API, обязательно выберите подходящую версию TensorFlow.

Примечание. Справочная ссылка API

https://www.tensorflow.org/versions/r2.0/api_docs/python/tf

Установить

Чтобы установить альфа-версию, мы рекомендуем вам создать новую виртуальную среду и использовать «pip install --upgrade --pre tensorflow» или «tensorflow-gpu» (требуется CUDA 10). Мы будем обновлять эту версию чаще, добавляя новые функции. Вы также можете добавить «!» к команде «!pip install --upgrade --pre tensorflow», чтобы попробовать ее в Colab. (Все учебники и руководства выше автоматически устанавливают последнюю версию).

Примечание: ссылка на Colab

https://colab.research.google.com/notebooks/welcome.ipynb#recent=true

функции, а не сеансы

Давайте углубимся в то, как эти две функции работают вместе в версии 2.0: нетерпеливое выполнение и «@tf.function».

Одним из наиболее очевидных изменений является то, что TensorFlow является «сначала стремящимся», что означает, что операция запускается сразу после вызова. В TensorFlow 1.x вы можете сначала составить граф, а затем выполнить части графа через «tf.Session.run()». TensorFlow 2.0 радикально упрощает работу с TensorFlow — та же отличная операция, теперь более простая для понимания и использования.

a = tf.constant([1, 2])

b = tf.constant([3, 4])

print(a + b)

# returns: tf.Tensor([4 6], shape=(2,), dtype=int32)

Использование TensorFlow 2.0KerasОсновной опыт в качестве разработчика. В 2.0 можно использовать как обычно Керас, создайте модель с помощью Sequential API, затем используйте «скомпилировать» и «подогнать». Все эти знакомые примеры «tf.keras» с tensorflow.org могут быть реализованы «из коробки» в версии 2.0.

"fit()" Keras подходит для многих ситуаций, однако разработчики, которым нужна большая гибкость, теперь имеют больше возможностей. Давайте взглянем на пользовательский цикл обучения, написанный в стиле TensorFlow 2.0, в этом примере:

def train_one_step(model, optimizer, x, y):

 with tf.GradientTape() as tape:

   logits = model(x)

   loss = compute_loss(y, logits)

 grads = tape.gradient(loss, model.trainable_variables)

 optimizer.apply_gradients(zip(grads, model.trainable_variables))

 compute_accuracy(y, logits)

 return loss

def train(model, optimizer):

 train_ds = mnist_dataset()

 step = 0

 loss = 0.0

 for x, y in train_ds:

   step += 1

   loss = train_one_step(model, optimizer, x, y)

   if tf.equal(step % 10, 0):

     tf.print('Step', step, ': loss',

               loss, '; accuracy', compute_accuracy.result())

 return step, loss, accuracy

Примечание: этот пример ссылки

https://github.com/tensorflow/docs/blob/master/site/en/r2/guide/autograph.ipynb

В этом примере используется GradientTape в стиле Autograd и вручную применяются градиенты с помощью оптимизатора. Это особенно полезно при написании пользовательских циклов обучения со сложной внутренней работой (например, при обучении с подкреплением) или при проведении исследований, которые легко помогут вам реализовать новые идеи, повышающие эффективность оптимизатора.

«Нетерпеливое выполнение» также помогает отлаживать и отслеживать работающий код. Вы можете использовать отладчик Python для проверки таких объектов, как переменные, слои и градиенты. В цикле обучения мы используем операторы Python, такие как «if», «for» и «print()».

Как только ваш код заработает правильно, вы захотите оптимизировать и повысить эффективность диаграммы. Для этого вы можете обернуть «поезд» декоратором «@tf.function». Автограф встроен в "tf.function", поэтому вам не нужно делать ничего особенного, чтобы получить предложение "если" или "для", которое работает с эффективностью графа.

@tf.function

def train(model, optimizer):

 train_ds = mnist_dataset()

 step = 0

 loss = 0

 accuracy = 0

 for x, y in train_ds:

# То же, что и выше, включая "if" и "print()"

 return step

На этот код не влияют комментарии, но мы скомпилируем его в граф, который можно легко запустить на GPU, TPU, или сохраним его в «SavedModel» для последующего использования.

Что особенно интересно в этой паре кодов, так это то, что при заключении «train()» в «@tf.function» «train_one_step()», «compute_loss()» и «compute_accuracy()» также автоматически преобразуются. Вы также можете инкапсулировать только некоторые операции в «@tf.function», чтобы получить желаемое поведение.

Кроме того, TensorFlow 2.0 полностью поддерживает оценщики. См. новый учебник по повышению деревьев и пониманию модели.

Примечание: ссылка на учебник

https://github.com/tensorflow/docs/tree/master/site/en/r2/tutorials/estimators

Приглашаем вас принять участие в тестировании и оставить отзыв!

Мы будем признательны, если вы оставите отзыв после того, как попробуете последнюю версию и обновите модель! Присоединяйтесь к группе пользователей testing@TensorFlow и добро пожаловать на нашу еженедельную станцию ​​поддержки TensorFlow 2.0 (вторник в 14:00 по тихоокеанскому времени, среда в 6:00 по Гринвичу).

Примечание: ссылка на группу пользователей testing@TensorFlow

https://groups.google.com/a/tensorflow.org/forum/?utm_medium=email&utm_source=footer#!forum/testing

Ссылка на сайт поддержки TensorFlow 2.0

https://docs.google.com/document/d/1i9_Ey9rYtslS6fryZ5Wm0vWWbrpScW3oh9bTRNVQ87Q/edit#heading=h.w7a5riqlaj2b

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

Примечание. Ссылка на теги 2.0

https://github.com/tensorflow/tensorflow/issues?q=is%3Aissue+is%3Aopen+label%3A2.0

Больше возможностей, следите за обновлениями

Чтобы быть в курсе известных проблем и работ по разработке TensorFlow 2.0, см. средство отслеживания проектов TensorFlow 2.0 на Github. Мы продолжим разработку и улучшение TensorFlow 2.0, и вы должны время от времени видеть обновления наших пакетов сборки Nightly. Чтобы было ясно, это предварительная версия для разработчиков. С нетерпением ждем ваших отзывов!

Примечание. Ссылка на TensorFlow 2.0 Project Tracker

https://github.com/orgs/tensorflow/projects/4

Кроме того, если вы создали отличную работу с помощью TensorFlow 2.0, например, мобильные приложения, исследовательские проекты, художественные инсталляции и т. д., сообщите нам об этом, мы будем рады увидеть вашу работу. Пожалуйста, дайте нам знать здесь.

Примечание: ссылка здесь

https://services.google.com/fb/forms/tensorflowcasestudy/

Если вы хотите поделиться недавно разработанным примером, рассмотрите возможность отправки PR, чтобы добавить его в организацию TensorFlow как часть tensorflow/examples/community (https://github.com/tensorflow/examples/tree/master/community). ).

Подробнее об ИИ: