keras.load_model() не может распознать функции активации Tensorflow

#tensorflow #keras #tf.keras

#tensorflow #keras #tf.keras

Вопрос:

Я сохранил модель tf.keras с помощью tf.keras.save_model функций. почему tf.keras.load_model возникает исключение?

пример кода:

 import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential([
    layers.Dense(8, activation=tf.nn.leaky_relu),
    layers.Dense(8, activation=tf.nn.leaky_relu)
])

tf.keras.models.save_model(
    model,
    'model'
)

tf.keras.models.load_model('model')
  

Я ожидаю, что этот код загрузит модель, но он выдает исключение:

 ValueError: Unknown activation function:leaky_relu
  

Комментарии:

1. @Sharky это полный код. смотрите пример colab: colab.research.google.com/drive /…

Ответ №1:

Вам нужно добавить пользовательские объекты

 tf.keras.models.load_model('model', custom_objects={'leaky_relu': tf.nn.leaky_relu})