Ошибка преобразования модели keras в tfjs: дублированное имя веса Переменная
В результате выполнения учебника по адресу https://www.tensorflow.org/tutorials/images/hub_with_keras был создан файл model.h5
, Преобразование в tenorflow-js с помощью команды
tensorflowjs_converter --input_format keras ./model.h5 /tmp/jsmodel/
не удалось с
Исключение: ошибка при сбросе весов, дублирование имени веса Переменная
Почему это и как это можно исправить?
MCVE
from __future__ import absolute_import, division, print_function
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow.keras import layers
import numpy as np
data_root = tf.keras.utils.get_file(
'flower_photos','https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',
untar=True)
image_generator = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1/255)
IMAGE_SHAPE = (224, 224)
image_data = image_generator.flow_from_directory(str(data_root), target_size=IMAGE_SHAPE)
feature_extractor_url = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/2" #@param {type:"string"}
feature_extractor_layer = hub.KerasLayer(feature_extractor_url,
input_shape=(224,224,3))
for image_batch, label_batch in image_data:
print("Image batch shape: ", image_batch.shape)
print("Labe batch shape: ", label_batch.shape)
break
feature_extractor_layer.trainable = False
model = tf.keras.Sequential([
feature_extractor_layer,
layers.Dense(image_data.num_classes, activation='softmax')
])
model.compile(
optimizer=tf.keras.optimizers.Adam(),
loss='categorical_crossentropy',
metrics=['acc'])
steps_per_epoch = np.ceil(image_data.samples/image_data.batch_size)
history = model.fit(image_data, epochs=2,
steps_per_epoch=steps_per_epoch) # removed callback
model.save("/tmp/so_model.h5")
Это не с
RuntimeError: невозможно создать ссылку (имя уже существует)
но модель создана. Вызов выше tensorflowjs_converter --input_format keras /tmp/model.h5 /tmp/jsmodel
не с вышеуказанным
Исключение: ошибка при сбросе весов, дублирование имени веса Переменная
ОБНОВЛЕНИЕ: см. Также Обнаружение изображения Retrain с MobileNet