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
.