Обучение Tensorflow2.0: model.compile vs GradientTape - PullRequest
1 голос
/ 09 мая 2019

Я начинаю изучать Tensorflow2.0, и один из основных источников моей путаницы - это когда keras-like model.compile против tf.GradientTape для обучения модели.

В учебнике Tensorflow2.0 для классификации MNIST они обучают двум аналогичным моделям. Один с model.compile и другой с tf.GradientTape.

Извинения, если это тривиально, но когда вы используете один над другим?

1 Ответ

3 голосов
/ 09 мая 2019

Это действительно конкретный случай, и здесь трудно дать определенный ответ (он может граничить с «слишком основанным на мнении»). Но в целом, я бы сказал,

  • «Классический» интерфейс Keras (с использованием compile, fit и т. Д.) Позволяет быстро и легко создавать, обучать и оценивать стандартные модели. Тем не менее, он очень высокоуровневый / абстрактный и, как таковой, не дает много контроля на низком уровне. Если вы реализуете модели с нетривиальным потоком управления, это может быть трудно приспособить.
  • GradientTape дает вам полный низкоуровневый контроль над всеми аспектами обучения / запуска вашей модели, позволяя упростить отладку, а также более сложные архитектуры и т. Д., Но вам нужно будет написать больше стандартного кода для многих вещей, которые * Модель 1009 * будет скрываться от вас (например, тренировочные петли). Тем не менее, если вы проводите исследования в области глубокого обучения, вы, вероятно, будете работать на этом уровне большую часть времени.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...