TF.js поддерживает два API и соответствующие форматы сериализации: API слоев (соответствующий моделям Keras) и базовый API нижнего уровня (соответствующий произвольным графам TensorFlow).
В зависимости от того, где вы получаетемодель и способ ее преобразования, ваш файл может быть загружен через tf.loadLayersModel()
или tf.loadGraphModel()
, но не обоими способами.См. Таблицу доступных преобразований . .
. Даже если модель была изначально обучена с использованием Keras, она могла быть сохранена как низкоуровневый график TensorFlow, в котором структура слоев Keras потеряна.Я считаю, что это в настоящее время относится ко всем модулям TF-Hub.Таким образом, ваш текущий подход дает вам tf.GraphModel
, из которого слои не могут быть восстановлены.
Мы предоставляем MobileNet v1, уже преобразованный из оригинального Keras в формат слоев TF.js, по указанному вами URL-адресу, так что выможете использовать loadLayersModel()
(ранее loadModel()
) с этим напрямую.В настоящее время мы не размещаем конвертированный MobileNet v2.Однако вы можете получить оригинальную модель Keras .h5 здесь , а затем преобразовать ее в формат слоев TF.js, используя tensorflowjs_converter
.