Построение моделей и оценок в tf2.0 без tf.keras - PullRequest
0 голосов
/ 25 октября 2019

Учитывая, что API слоев устарел, как мне строить модели в tf2 без использования tf.keras (или каков рекомендуемый способ построения моделей)? Проблема # 30829 имеет тот же вопрос, но был закрыт без каких-либо ответов.

Обновление:

Я согласен с использованием tf.keras.layers вместо tf.layers,но после того, как я построил все слои и мне нужно вернуть модель, есть ли способ НЕ использовать keras модель, компилировать, подгонять, прогнозировать и оценивать, и просто делать это способом тензорного потока?

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

1 Ответ

0 голосов
/ 27 октября 2019

Google выпустил руководство по миграции с TF 1 на TF 2, раздел . Преобразование моделей .

Рекомендуемый способ построения моделей

Руководство (раздел «Модели на основе tf.layers») рекомендует преобразовать tf.layers модели в tf.keras.layers:

Преобразование было однозначным, поскольку существует прямое сопоставлениеот v1.layers до tf.keras.layers.

Сборка моделей без Keras

Опция заключается в предоставлении собственных реализаций слоев (пример из руководства):

W = tf.Variable(tf.ones(shape=(2,2)), name="W")
b = tf.Variable(tf.zeros(shape=(2)), name="b")

@tf.function
def forward(x):
  return W * x + b

out_a = forward([1,0])
print(out_a)

Но стоит рассмотреть tf.keras.layers.Layer ( пример ), который дает некоторую степень свободы, но интегрируется с остальной частью Keras (и ее слоями).

Даже со слоями, написанными tf.keras, вы можете написать собственный цикл обучения ( пример ).

Подводя итог, на практике TF 2.0 требует использования tf.keras.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...