Tensorflow Keras自定义功能非常慢

Tensorflow Keras自定义功能非常慢,tensorflow,deep-learning,keras,custom-function,Tensorflow,Deep Learning,Keras,Custom Function,我已经写了一个自定义损失函数,但它非常慢。仅仅编译模型就花了几个小时。背后的原因可能是什么?有没有办法优化这段代码,让它变得更快 打印“2完成”后所需的大部分处理时间 def丢失(y_真,y_pred) . 一些代码 . w=np.随机.随机(5,10,8,8,3)) #瓷砖到5D y_-true=np.tile(y_-true,(5,1,1,1)) y_pred=np.tile(y_pred,(5,1,1,1)) 打印('1已完成') x=np.sum(y_pred*w,轴=(3,4),kee

我已经写了一个自定义损失函数,但它非常慢。仅仅编译模型就花了几个小时。背后的原因可能是什么?有没有办法优化这段代码,让它变得更快

打印“2完成”后所需的大部分处理时间

def丢失(y_真,y_pred)
.
一些代码
.
w=np.随机.随机(5,10,8,8,3))
#瓷砖到5D
y_-true=np.tile(y_-true,(5,1,1,1))
y_pred=np.tile(y_pred,(5,1,1,1))
打印('1已完成')
x=np.sum(y_pred*w,轴=(3,4),keepdims=True)
y=np.sum(y_真*w,轴=(3,4),keepdims=true)
打印('2已完成')
x2=np.sum((w*y*u pred)**2,轴=(3,4),keepdims=True)-x**2
y2=np.sum((w*y_真)**2,轴=(3,4),keepdims=真)-y**2
打印(“2.5完成”)
xy=np.sum(w*y_pred*y_true,axis=(3,4),keepdims=true)-x*y
.
一些代码
.
回波损耗
"

损失函数:

def自定义损失(y_真,y_pred):

返回丢失(y_true,y_pred)

在此类函数中包含
打印
函数是一个非常糟糕的主意…我在Ipython笔记本中没有调试工具。所以,我必须检查出哪里出了问题。还有什么替代方法?为什么在
keras
loss函数中使用
numpy
函数?您需要使用
keras.backend
或您的后端。我也尝试过keras函数,但它们没有任何区别。在此类函数中包含
print
函数是一个非常糟糕的主意……我在Ipython笔记本中没有调试工具。所以,我必须检查出哪里出了问题。还有什么替代方法?为什么在
keras
loss函数中使用
numpy
函数?您需要使用
keras.backend
或您的后端。我也尝试过keras函数,但它们没有任何区别。