···
class PhysicsLoss(tf.keras.losses.Loss):
def __init__(self, coolant_config, reduction=tf.keras.losses.Reduction.AUTO, name="PhysicsLoss"):
super().__init__(reduction=reduction, name=name)
self.coolant = coolant_config
def get_config(self):
config = super().get_config()
config.update({"coolant_config": self.coolant})
return config
@classmethod
def from_config(cls, config):
coolant_config = config.pop("coolant_config")
return cls(coolant_config=coolant_config, **config)
def call(self, y_true, y_pred):
# 你的损失函数内容不变
在跑DNN写predictor函数的时候遇到的问题,一直有coolant_config无法识别,追溯到keras.tensorflow的loss那里,然后在自己的loss函数中声明一下就好了