Python 2.7 自定义丢失功能中是否只能使用keras或后端功能?
定义自定义损失函数时,我希望: 使用numpy操作输入y_pred张量 将输入的y_pred张量处理为外部二进制执行并获得结果 演示代码如下所示:Python 2.7 自定义丢失功能中是否只能使用keras或后端功能?,python-2.7,tensorflow,keras,Python 2.7,Tensorflow,Keras,定义自定义损失函数时,我希望: 使用numpy操作输入y_pred张量 将输入的y_pred张量处理为外部二进制执行并获得结果 演示代码如下所示: def mse_my_loss(y_true,y_pred): Q1 = K.mean(K.square(y_pred - y_true), axis=-1) y_in = y_pred.numpy() file_wave = './tools/data.raw' librosa.output.write_wav(file_wave
def mse_my_loss(y_true,y_pred):
Q1 = K.mean(K.square(y_pred - y_true), axis=-1)
y_in = y_pred.numpy()
file_wave = './tools/data.raw'
librosa.output.write_wav(file_wave, y_pred, 16000)
CMD = './tools/EVAL +16000 ' + file_wave
os.system(CMD)
loss = readresult()
return Q1 + loss
实现这一目标是否可行
或者在自定义损失函数中只能使用keras或后端函数,以便keras在张量上执行自动梯度计算
非常感谢。是的,只有后端函数可以用于此,因为Keras需要计算关于权重的损失函数的梯度,并且只有后端函数是符号的(因此传播梯度)