Python 取Keras损失函数的任意幂
我试图在Keras上构建一个自定义损失函数,在这里我可以选择y_true和y_pred之间的减法幂,y_true和y_pred是他们关于Keras损失函数的标准定义。换句话说,我想要一个损失函数 |y{true}-y{pred}^n| 其中n是一个我可以选择的数字。如果n是一个整数,我可以使用Python 取Keras损失函数的任意幂,python,tensorflow,keras,Python,Tensorflow,Keras,我试图在Keras上构建一个自定义损失函数,在这里我可以选择y_true和y_pred之间的减法幂,y_true和y_pred是他们关于Keras损失函数的标准定义。换句话说,我想要一个损失函数 |y{true}-y{pred}^n| 其中n是一个我可以选择的数字。如果n是一个整数,我可以使用tf.keras.backend.pow生成我的损失函数: def power_loss(power): def loss(y_true, y_pred): return
tf.keras.backend.pow
生成我的损失函数:
def power_loss(power):
def loss(y_true, y_pred):
return K.abs(K.pow(y_true - y_pred, power))
return loss
但是,如果n不是整数(例如n=1.5),怎么能做到这一点呢?tf.keras.backend.pow计算任意幂。您需要将这两个参数强制转换为浮点数据类型
import tensorflow.keras.backend as K
K.pow(2.0, 2.5)
给予
5.656854