我正在尝试做一些数学上简单的事情,但是Tensorflow正在与我抗争。这不是我的确切代码,但这是个主意(从离线系统中手动键入,而不是实际代码):
def myLoss(y_true, y_pred):
# y_true, y_pred are (1,times,features)
loss = K.zeros(1)
for x in range(times):
M = K.eye(4); # K = keras.backend
K.set_value(M[0,3], K.get_value(y_pred[0,x,2])) # <--- THIS IS THE PROBLEM
# ... more like above, building matrix from y_pred
loss = loss + K.sum(K.square( #... etc, matrix math using M and y_true
问题似乎是我根本不知道如何创建所需的矩阵并从y_pred为其分配值。怎么做?当我使用上述技术时,在模型编译过程中出现关于需要占位符的错误。我只是通过注释掉这些注释并看到错误消失来了解这些语句。