Help protect the Great Barrier Reef with TensorFlow on Kaggle

# tensorflow::ops::SparseApplyFtrl

#include <training_ops.h>

Update relevant entries in '*var' according to the Ftrl-proximal scheme.

## Summary

That is for rows we have grad for, we update var, accum and linear as follows: \$\$accum_new = accum + grad * grad\$\$ \$\$linear += grad + (accum_{new}^{-lr_{power}} - accum^{-lr_{power}} / lr * var\$\$ \$\$quadratic = 1.0 / (accum_{new}^{lr_{power}} * lr) + 2 * l2\$\$ \$\$var = (sign(linear) * l1 - linear) / quadratic\ if\ |linear| > l1\ else\ 0.0\$\$ \$\$accum = accum_{new}\$\$

Arguments:

• scope: A Scope object
• var: Should be from a Variable().
• accum: Should be from a Variable().
• linear: Should be from a Variable().
• indices: A vector of indices into the first dimension of var and accum.
• lr: Scaling factor. Must be a scalar.
• l1: L1 regularization. Must be a scalar.
• l2: L2 regularization. Must be a scalar.
• lr_power: Scaling factor. Must be a scalar.

Optional attributes (see Attrs):

• use_locking: If True, updating of the var and accum tensors will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention.

Returns:

### Constructors and Destructors

SparseApplyFtrl(const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input linear, ::tensorflow::Input grad, ::tensorflow::Input indices, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input lr_power)
SparseApplyFtrl(const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input linear, ::tensorflow::Input grad, ::tensorflow::Input indices, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input lr_power, const SparseApplyFtrl::Attrs & attrs)

operation
out

### Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

### Public static functions

UseLocking(bool x)

### Structs

tensorflow::ops::SparseApplyFtrl::Attrs

Optional attribute setters for SparseApplyFtrl.

## Public attributes

### operation

Operation operation

### out

::tensorflow::Output out

## Public functions

### SparseApplyFtrl

SparseApplyFtrl(
const ::tensorflow::Scope & scope,
::tensorflow::Input var,
::tensorflow::Input accum,
::tensorflow::Input linear,
::tensorflow::Input indices,
::tensorflow::Input lr,
::tensorflow::Input l1,
::tensorflow::Input l2,
::tensorflow::Input lr_power
)

### SparseApplyFtrl

SparseApplyFtrl(
const ::tensorflow::Scope & scope,
::tensorflow::Input var,
::tensorflow::Input accum,
::tensorflow::Input linear,
::tensorflow::Input indices,
::tensorflow::Input lr,
::tensorflow::Input l1,
::tensorflow::Input l2,
::tensorflow::Input lr_power,
const SparseApplyFtrl::Attrs & attrs
)

### node

::tensorflow::Node * node() const

### operator::tensorflow::Input

operator::tensorflow::Input() const

### operator::tensorflow::Output

operator::tensorflow::Output() const

## Public static functions

### UseLocking

Attrs UseLocking(
bool x
)
[{ "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" }]