Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 取Keras损失函数的任意幂_Python_Tensorflow_Keras - Fatal编程技术网

Python 取Keras损失函数的任意幂

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

我试图在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 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