Ich arbeite mit altem Tensorflow (2.7) und Java TensorFlow, aber die Antwort kann anderen immer noch helfen, ähnliche Probleme aufzuspüren. Mein Modell erzeugt den Fehler, wenn er auf das Format 2.7 Save () gespeichert wird: < /p>
CustomMaskWarning: Custom mask layers require a config and must override get_config. When loading, the custom mask layer must be passed to the custom_objects argument.
< /code>
ursprünglich stellte ich mir vor, dass dies aus der Metrik- und Verlustfunktion stammt, da das Modell diese nicht speichern und laden kann, vermutlich aufgrund einer Art von Serialisierungsproblem. < /p>
def masked_mae(y_true, y_pred):
# Mask NaN values, replace by 0
y_true = tf.where(tf.math.is_nan(y_true), y_pred, y_true)
# Calculate absolute differences
absolute_differences = tf.abs(y_true - y_pred)
# Compute the mean, ignoring potential NaN values (if any remain after replacement)
mae = tf.reduce_mean(absolute_differences)
return mae
< /code>
Ich weiß nicht, wie man Custom_Objects in Java liefert, und ich bin mit dem Training fertig, also habe ich versucht, das Modell mit Verlust = keine zu kompilieren und keine Metriken = Keine zu erstellen und es so zu speichern. Das Modell kann mit dieser Änderung geladen werden, aber der Fehler ist nicht verschwunden. Gibt es eine Möglichkeit, zu verfolgen, welche Schicht dies verursacht und warum? Ist es nur ein Ärgernis? Es gibt keine offensichtlichen Verwendungen von Masken.
Verfassen ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post