TF2.0 - tf.keras.layers.Lambda

Artikelverzeichnis

Lambda

Offizielle Website

tf.keras.layers.Lambda(
    function, output_shape=None, mask=None, arguments=None, **kwargs
)

Beschreibung

Umschließen Sie jeden Ausdruck als Layer-Objekt. Der Lambda-Layer ist vorhanden, sodass beim Erstellen von sequentiellen und funktionalen API-Modellen jede TensorFlow-Funktion verwendet werden kann. Obwohl es möglich ist, Variablen in der Lambda-Schicht zu verwenden, wird von dieser Vorgehensweise abgeraten, da dies leicht zu Fehlern
führen kann, die von: Schicht, Modul übernommen werden

Parameter

Die
ausgewertete Funktion verwendet
den Eingangstensor als ersten Parameter

Die
erwartete Ausgabeform der Funktion output_shape kann abgeleitet werden, wenn dies nicht explizit angegeben wird. Kann ein Tupel oder eine Funktion sein.
Wenn es sich um ein Tupel handelt, geben Sie nur die erste Dimension vorwärts an.
Angenommen, die Beispieldimension entspricht der Eingabe: output_shape = (input_shape [0],) + output_shape,
oder die Eingabe lautet None, und die Beispieldimension lautet ebenfalls None: output_shape = (None,) +
Wenn output_shape eine Funktion ist, geben Sie die gesamte Form als Funktion der Eingabeform an: output_shape = f (input_shape)

mask
None
oder ein aufrufbares Objekt mit derselben Signatur wie die Layermethode compute_mask
oder ein Tensor, der als Ausgabemaske zurückgegeben wird


Optional Wörterbuch der Keyword - Argumente , um an die Funktion übergeben werden

Form eingeben

Wenn Sie diese Ebene als erste Ebene des Modells verwenden, verwenden Sie den Schlüsselwortparameter input_shape

Ausgabeform

Wird durch den Parameter output_shape angegeben

Offizieller Fall

# add a x -> x^2 layer
model.add(Lambda(lambda x: x ** 2))
# add a layer that returns the concatenation of the positive part of the input and the opposite of the negative part

def antirectifier(x):
    x -= K.mean(x, axis=1, keepdims=True)
    x = K.l2_normalize(x, axis=1)
    pos = K.relu(x)
    neg = K.relu(-x)
    return K.concatenate([pos, neg], axis=1)

model.add(Lambda(antirectifier))

Ich denke du magst

Origin blog.csdn.net/weixin_46649052/article/details/112705350
Empfohlen
Rangfolge