¿Tengo una pregunta? Conéctese con la comunidad en el Foro de TensorFlow

# 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}$$

Args:

• 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

MultiplyLinearByLr (bool x)
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

### MultiplyLinearByLr

Attrs MultiplyLinearByLr(
bool x
)

### UseLocking

Attrs UseLocking(
bool x
)
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Falta la información que necesito" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Muy complicado o demasiados pasos" },{ "type": "thumb-down", "id": "outOfDate", "label":"Desactualizado" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Otro" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Fácil de comprender" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Resolvió mi problema" },{ "type": "thumb-up", "id": "otherUp", "label":"Otro" }]