Код: Выделить всё
Failed to convert elements of {'class_name': '__tensor__', 'config': {'dtype': 'float64', 'value': [0.0, 0.0, 0.0, 0.0]}} to Tensor. Consider casting elements to a supported type. See https://www.tensorflow.org/api_docs/python/tf/dtypes for supported TF dtypes
Этот загадочный тензор float64 — это значение, которое я передал в маскирующий слой. Я не понимаю, почему keras не может распознать этот объект JSON как тензор и применить операцию маскировки как таковую. Ниже я включил фрагменты своего кода, отредактированные для ясности и краткости:
model_generation.py:
Код: Выделить всё
# Create model
model = tf.keras.Sequential([
tf.keras.layers.Input((352, 4)),
tf.keras.layers.Masking(mask_value=tf.convert_to_tensor(np.array([0.0, 0.0, 0.0, 0.0]))),
tf.keras.layers.GRU(50, return_sequences=True, activation='tanh'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.GRU(50,activation='tanh'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(units=1, activation='sigmoid')])
# Compile Model...
# Train Model...
model.save('model.keras')
model.predict(data) # Line works here
Код: Выделить всё
model = tf.keras.models.load_model('model.keras')
model.predict(data) # this line generates the error
Подробнее здесь: https://stackoverflow.com/questions/793 ... th-masking