ValueError: Output tensors to a Model must be the output of a TensorFlow `Layer`
I had this issue because I was adding 2 tensors as x1+x2
somewhere in my model instead of using Add()([x1,x2])
.
That solved the problem.
I have found a way to work around to solve the problem. For anyone who encounters the same issue, you can use the Lambda layer to wrap your tensorflow operations, this is what I did:
from tensorflow.python.keras.layers import Lambda;
def norm(fc2):
fc2_norm = K.l2_normalize(fc2, axis = 3);
illum_est = tf.reduce_sum(fc2_norm, axis = (1, 2));
illum_est = K.l2_normalize(illum_est);
return illum_est;
illum_est = Lambda(norm)(fc2);