2D Branin

class deepobs.tensorflow.testproblems.two_d_branin.two_d_branin(batch_size, weight_decay=None)[source]

DeepOBS test problem class for a stochastic version of thetwo-dimensional Branin function as the loss function.

Using the deterministic Branin function and adding stochastic noise of the form

\(u \cdot x + v \cdot y\)

where x and y are normally distributed with mean 0.0 and standard deviation 1.0 we get a loss function of the form

\((v - 5.1/(4 \cdot \pi^2) u^2 + 5/ \pi u - 6)^2 +\ 10 \cdot (1-1/(8 \cdot \pi)) \cdot \cos(u) + 10 + u \cdot x + v \cdot y\).

Parameters:
  • batch_size (int) -- Batch size to use.
  • weight_decay (float) -- No weight decay (L2-regularization) is used in this test problem. Defaults to None and any input here is ignored.
dataset

The DeepOBS data set class for the two_d stochastic test problem.

train_init_op

A tensorflow operation initializing the test problem for the training phase.

train_eval_init_op

A tensorflow operation initializing the test problem for evaluating on training data.

test_init_op

A tensorflow operation initializing the test problem for evaluating on test data.

losses

A tf.Tensor of shape (batch_size, ) containing the per-example loss values.

regularizer

A scalar tf.Tensor containing a regularization term. Will always be 0.0 since no regularizer is used.

set_up()[source]

Sets up the stochastic two-dimensional Branin test problem. Using 2.5 and 12.5 as a starting point for the weights u and v.