Watch keynotes, product sessions, workshops, and more from Google I/O

# LogCosh

public class LogCosh

Computes Computes the logarithm of the hyperbolic cosine of the prediction error.

``` logcosh = log((exp(x) + exp(-x))/2) ``` , where ``` x ``` is the error ``` predictions - labels ``` .

Standalone usage:

```    Operand<TFloat32> labels =
tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} });
Operand<TFloat32> predictions =
tf.constant(new float[][] { {1.f, 1.f}, {0.f, 0.f} });
LogCosh logcosh = new LogCosh(tf);
Operand<TFloat32> result = logcosh.call(labels, predictions);
// produces 0.108
```

Calling with sample weight:

```    Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f});
Operand<TFloat32> result = logcosh.call(labels, predictions, sampleWeight);
// produces 0.087f
```

Using ``` SUM ``` reduction type:

```    LogCosh logcosh = new LogCosh(tf, Reduction.SUM);
Operand<TFloat32> result = logcosh.call(labels, predictions);
// produces 0.217f
```

Using ``` NONE ``` reduction type:

```    LogCosh logcosh = new LogCosh(tf, Reduction.NONE);
Operand<TFloat32> result = logcosh.call(labels, predictions);
// produces [0.217f, 0f]
```

### Public Constructors

 (Ops tf) Creates a LogCosh Loss using ``` getSimpleName() ``` as the loss name and a Loss Reduction of ``` REDUCTION_DEFAULT ``` (Ops tf, String name) Creates a LogCosh Loss using a Loss Reduction of ``` REDUCTION_DEFAULT ``` (Ops tf, Reduction reduction) Creates a LogCosh Loss using ``` getSimpleName() ``` as the loss name (Ops tf, String name, Reduction reduction) Creates a LogCosh Loss

### Public Methods

 Operand ( Operand labels, Operand predictions, Operand sampleWeights) Generates an Operand that calculates the loss.

## Public Constructors

#### public LogCosh (Ops tf)

Creates a LogCosh Loss using ``` getSimpleName() ``` as the loss name and a Loss Reduction of ``` REDUCTION_DEFAULT ```

##### Parameters
 tf the TensorFlow Ops

#### public LogCosh (Ops tf, String name)

Creates a LogCosh Loss using a Loss Reduction of ``` REDUCTION_DEFAULT ```

##### Parameters
 tf the TensorFlow Ops the name of the loss, if null then ``` getSimpleName() ``` is used.

#### public LogCosh (Ops tf, Reduction reduction)

Creates a LogCosh Loss using ``` getSimpleName() ``` as the loss name

##### Parameters
 tf the TensorFlow Ops Type of Reduction to apply to the loss.

#### public LogCosh (Ops tf, String name, Reduction reduction)

Creates a LogCosh Loss

##### Parameters
 tf the TensorFlow Ops the name of the loss, if null then ``` getSimpleName() ``` is used. Type of Reduction to apply to the loss.

## Public Methods

#### public Operand <T> call ( Operand <? extends TNumber > labels, Operand <T> predictions, Operand <T> sampleWeights)

Generates an Operand that calculates the loss.

##### Parameters
 labels the truth values or labels the predictions Optional sampleWeights acts as a coefficient for the loss. If a scalar is provided, then the loss is simply scaled by the given value. If SampleWeights is a tensor of size [batch_size], then the total loss for each sample of the batch is rescaled by the corresponding element in the SampleWeights vector. If the shape of SampleWeights is [batch_size, d0, .. dN-1] (or can be broadcast to this shape), then each loss element of predictions is scaled by the corresponding value of SampleWeights. (Note on dN-1: all loss functions reduce by 1 dimension, usually axis=-1.)
##### Returns
• the loss
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]