title: NotImplementedError: Cannot convert a symbolic Tensor (2nd_target:0) to a numpy array
body: <p>I try to pass 2 loss functions to a model as <a href="https://keras.io/models/model/" rel="noreferrer">Keras allows that.</a></p>
  <blockquote>
  <p>loss: String (name of objective function) or objective function or
  Loss instance. See losses. If the model has multiple outputs, you can
  use a different loss on each output by <strong>passing a dictionary or a list
  of losses</strong>. The loss value that will be minimized by the model will
  then be the sum of all individual losses.</p>
  </blockquote>
  <p>The two loss functions:</p>
  <pre><code>def l_2nd(beta):
      def loss_2nd(y_true, y_pred):
          ...
          return K.mean(t)
  
      return loss_2nd
  </code></pre>
  <p>and</p>
  <pre><code>def l_1st(alpha):
      def loss_1st(y_true, y_pred):
          ...
          return alpha * 2 * tf.linalg.trace(tf.matmul(tf.matmul(Y, L, transpose_a=True), Y)) / batch_size
  
      return loss_1st
  </code></pre>
  <p>Then I build the model:</p>
  <pre><code>l2 = K.eval(l_2nd(self.beta))
  l1 = K.eval(l_1st(self.alpha))
  self.model.compile(opt, [l2, l1])
  </code></pre>
  <p>When I train, it produces the error:</p>
  <pre><code>1.15.0-rc3 WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py:1630:
  calling BaseResourceVariable.__init__ (from
  tensorflow.python.ops.resource_variable_ops) with constraint is
  deprecated and will be removed in a future version. Instructions for
  updating: If using Keras pass *_constraint arguments to layers.
  --------------------------------------------------------------------------- 
  NotImplementedError                       Traceback (most recent call
  last) &lt;ipython-input-20-298384dd95ab&gt; in &lt;module&gt;()
       47                          create_using=nx.DiGraph(), nodetype=None, data=[('weight', int)])
       48 
  ---&gt; 49     model = SDNE(G, hidden_size=[256, 128],)
       50     model.train(batch_size=100, epochs=40, verbose=2)
       51     embeddings = model.get_embeddings()
  
  10 frames &lt;ipython-input-19-df29e9865105&gt; in __init__(self, graph,
  hidden_size, alpha, beta, nu1, nu2)
       72         self.A, self.L = self._create_A_L(
       73             self.graph, self.node2idx)  # Adj Matrix,L Matrix
  ---&gt; 74         self.reset_model()
       75         self.inputs = [self.A, self.L]
       76         self._embeddings = {}
  
  &lt;ipython-input-19-df29e9865105&gt; in reset_model(self, opt)
  
  ---&gt; 84         self.model.compile(opt, loss=[l2, l1])
       85         self.get_embeddings()
       86 
  
  /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/tracking/base.py
  in _method_wrapper(self, *args, **kwargs)
      455     self._self_setattr_tracking = False  # pylint: disable=protected-access
      456     try:
  --&gt; 457       result = method(self, *args, **kwargs)
      458     finally:
      459       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access
  
  NotImplementedError: Cannot convert a symbolic Tensor (2nd_target:0)
  to a numpy array.
  </code></pre>
  <p>Please help, thanks!</p>