tf.contrib.bayesflow.stochastic_graph.surrogate_loss
surrogate_loss(
sample_losses,
stochastic_tensors=None,
name='SurrogateLoss'
)
Defined in tensorflow/contrib/bayesflow/python/ops/stochastic_graph_impl.py.
See the guide: BayesFlow Stochastic Graph (contrib) > Stochastic Computation Graph Helper Functions
Surrogate loss for stochastic graphs.
This function will call loss_fn on each StochasticTensor
upstream of sample_losses, passing the losses that it influenced.
Note that currently surrogate_loss does not work with StochasticTensors
instantiated in while_loops or other control structures.
Args:
sample_losses: a list or tuple of final losses. Each loss should be per example in the batch (and possibly per sample); that is, it should have dimensionality of 1 or greater. All losses should have the same shape.stochastic_tensors: a list ofStochasticTensors to add loss terms for. If None, defaults to allStochasticTensors in the graph upstream of theTensors insample_losses.name: the name with which to prepend created ops.
Returns:
Tensor loss, which is the sum of sample_losses and the
loss_fns returned by the StochasticTensors.
Raises:
TypeError: ifsample_lossesis not a list or tuple, or if its elements are notTensors.ValueError: if any loss insample_lossesdoes not have dimensionality 1 or greater.
