【发布时间】:2017-12-01 23:43:30
【问题描述】:
我是神经网络和 keras 的新手,在编写这个自定义损失函数时遇到了麻烦:
我使用 TensorFlow 作为后端。看到其他例子,损失函数是这样写的:
from keras import backend as K
def depth_loss_func(pred_depth,actual_depth):
n = pred_depth.shape[0]
di = K.log(pred_depth)-K.log(actual_depth)
di_sq = K.square(di)
sum_d = K.sum(di)
sum_d_sq = K.sum(di_sq)
loss = ((1/n)*sum_d_sq)-((1/(n*n))*sum_d*sum_d) # getting an error in this step
return loss
我得到的错误是:
TypeError: unsupported operand type(s) for /: 'int' and 'Dimension'
我也不确定如何将学习率纳入损失函数。谢谢你的帮助。
【问题讨论】:
-
你不把
pred_depth和actual_depth混在一起吗?
标签: python-3.x tensorflow keras loss-function