标准化keras层的输出,使输出之和为1

Li Deyang

我想要一个像K.l2_normalize这样的标准化函数,但是可以使输出1之和

L2归一化公式为:

       x
---------------
sqrt(sum(x**2))

例如,对于输入[3、1、4、3、1]为[3 / 6、1 / 6、4 / 6、3 / 6、1 / 6] = 12/6 = 1/2

但是我想要:

    x 
---------------
   ||x||

例如,对于输入[3,1,4,4,3,1]为[3/12,1/12,4/12,3/12,1/12] = 12/12 = 1

在python中,我想要这样的东西:

import tensorflow as tf
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.layers import Lambda

x = tf.keras.layers.Input(tensor=tf.constant([[3, 1, 4, 3, 1]], dtype=tf.float32))
n_layer = Lambda(lambda t: "somefunction" )(x)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(n_layer.eval())

---------输出--------

[[0.25 0.0833 0.3333 0.25 0.0833 ]]
塞扬迪普·杜塔(Sayandip Dutta)

您正在寻找的是l1-norm,因此您需要将顺序设置为1。您可以通过中的ord参数传递规范的顺序tf.linalg.norm

from tensorflow.python.keras import backend as K
from tensorflow.python.keras.layers import Lambda

x = tf.keras.layers.Input(tensor=tf.constant([[3, 1, 4, 3, 1]], dtype=tf.float32))
n_layer = Lambda(lambda t: tf.linalg.norm(t,ord=1) )(x)

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(n_layer.eval())

输出:

12.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在需要单位 L2 范数输出的回归问题中标准化 Keras 网络输出?

来自分类Dev

PyTorch 中 BatchNorm1d 的输出与手动标准化输入维度的输出不匹配

来自分类Dev

使用\ Sexpr标准化输出测试统计信息

来自分类Dev

使用\ Sexpr标准化输出测试统计信息

来自分类Dev

标准输出为空

来自分类Dev

Keras 是否标准化内核权重?

来自分类Dev

keras ReLU层的意外输出

来自分类Dev

Keras层的输出与标量相乘

来自分类Dev

获取Keras模型/层的输出

来自分类Dev

从 JSON 转换时如何标准化 USQL 的输出以包含所有列的数据

来自分类Dev

VGG19 Conv4-1 层的 Keras 输出维度与模型输出不匹配

来自分类Dev

标准化-1NF澄清

来自分类Dev

输出层的形状总是 (1,)

来自分类Dev

是否有理由不对Doc2Vec的文档输出向量进行标准化以进行聚类?

来自分类Dev

乘以keras中的两层输出

来自分类Dev

如何批量获取中间Keras层的输出?

来自分类Dev

连接不同形状的keras层输出

来自分类Dev

使用keras python输出卷积层

来自分类Dev

TensorFlow/Keras:输出层的形状错误

来自分类Dev

在 Keras 自定义层中连接多个形状为 (None, m) 的 LSTM 输出

来自分类Dev

图像标准化

来自分类Dev

无法将输出层设置为分类

来自分类Dev

Keras Lambda层执行最大值并以(?,1)形状输出

来自分类Dev

批量大小= 1时的批量标准化

来自分类Dev

如何按行(axis = 1)标准化矩阵?

来自分类Dev

为“docker run”分离标准输出和标准错误?

来自分类Dev

SVM scikitlearn的标准化或标准化数据输入

来自分类Dev

Dicom-标准化和标准化

来自分类Dev

Keras中二进制分类的输出层