code: def get_vectors_loss(ops, docs, prediction, objective="L2"):
      
      # The simplest way to implement this would be to vstack the
      # token.vector values, but that's a bit inefficient, especially on GPU.
      # Instead we fetch the index into the vectors table for each of our tokens,
      # and look them up all at once. This prevents data copying.
      ids = ops.flatten([doc.to_array(ID).ravel() for doc in docs])
      target = docs[0].vocab.vectors.data[ids]
      if objective == "L2":
          d_target = prediction - target
          loss = (d_target ** 2).sum()
      elif objective == "cosine":
          loss, d_target = get_cossim_loss(prediction, target)
      return loss, d_target
docs: Compute a mean-squared error loss between the documents' vectors and
      the prediction.
  
      Note that this is ripe for customization! We could compute the vectors
      in some other word, e.g. with an LSTM language model, or use some other
      type of objective.