#tensorflow #tensorflow.js
#тензорный поток #tensorflow.js #tensorflow
Вопрос:
Я использую tf.loadLayersModel()
для загрузки в tf.js и получите эту ошибку:
Error: Layer invocation in the presence of activity regularizer(s) is not supported yet.
Я использую регуляризатор L2, и чтобы убедиться, что он работает правильно, я также включаю это:
class L2 {
static className = 'L2';
constructor(config) {
return tf.regularizers.l2(config)
}
}
tf.serialization.registerClass(L2);
В чем же проблема?
ПРИМЕЧАНИЕ: Это модель тензорного потока, которая перемещается в Tf.js , но Tf.js поддерживает регуляризаторы активности.
Обновить:
Вот исходный код для нереализованной ошибки. Так разве невозможно загрузить модель Keras с регуляризаторами?
Комментарии:
1. Что произойдет, если вы используете
tf.regularizers.l1l2
вместо этого?2. Тот же результат @edkeveked
3. Не могли бы вы поделиться своей моделью и используемой версией tfjs?
Ответ №1:
Ну, на основе сообщения и ссылки на предоставленный вами репозиторий
Я просмотрел свой код на python и прокомментировал activity_regularizer
параметры, tf.keras.layers.Dense()
и, похоже, он работает после генерации tensorflowjs_converter
(по крайней мере, javascript не показывает ошибок).
model = tf.keras.Sequential([
# ...
tf.keras.layers.Dense(64, activation='relu',
kernel_initializer=tf.keras.initializers.HeNormal(),
# activity_regularizer=tf.keras.regularizers.l2(1e-04) -->
# ^ Comment line above because not working on tensorflow.js
# ...
])