使用"hashing trick" 跨越特征的预处理层。
用法
tf.keras.layers.experimental.preprocessing.HashedCrossing(
num_bins, output_mode='int', sparse=False, **kwargs
)
参数
-
num_bins
哈希箱的数量。 -
output_mode
层输出的规范。默认为"int"
.值可以是"int"
, 或者"one_hot"
配置层如下:"int"
:直接返回整数 bin 索引。"one_hot"
:将输入中的每个单独元素编码为与num_bins
大小相同的数组,在输入的 bin 索引处包含 1。
-
sparse
布尔值。仅适用于"one_hot"
模式。如果为 True,则返回SparseTensor
而不是密集的Tensor
。默认为假。 -
**kwargs
构造层的关键字参数。
该层使用"hasing trick" 执行分类特征的交叉。从概念上讲,转换可以被认为是:hash(concatenation of features) % num_bins
。
该层目前仅执行标量输入和成批标量输入的交叉。有效的输入形状是 (batch_size, 1)
, (batch_size,)
和 ()
。
有关预处理层的概述和完整列表,请参阅预处理指南。
例子:
跨越两个标量特征。
layer = tf.keras.layers.HashedCrossing(num_bins=5)
feat1 = tf.constant(['A', 'B', 'A', 'B', 'A'])
feat2 = tf.constant([101, 101, 101, 102, 102])
layer((feat1, feat2))
<tf.Tensor:shape=(5, 1), dtype=int64, numpy=array([1, 4, 1, 6, 3])>
交叉和one-hotting 两个标量特征。
layer = tf.keras.layers.HashedCrossing(num_bins=5, output_mode='one_hot')
feat1 = tf.constant(['A', 'B', 'A', 'B', 'A'])
feat2 = tf.constant([101, 101, 101, 102, 102])
layer((feat1, feat2))
<tf.Tensor:shape=(5, 10), dtype=float32, numpy=
array([[0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 1., 0., 0., 0., 0., 0.],
[0., 1., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 1., 0., 0., 0., 0., 0., 0.]], dtype=float32)>
相关用法
- Python tf.keras.layers.experimental.preprocessing.PreprocessingLayer.adapt用法及代码示例
- Python tf.keras.layers.experimental.SyncBatchNormalization用法及代码示例
- Python tf.keras.layers.experimental.RandomFourierFeatures用法及代码示例
- Python tf.keras.layers.experimental.EinsumDense用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
- Python tf.keras.layers.LayerNormalization用法及代码示例
- Python tf.keras.layers.Conv2D用法及代码示例
- Python tf.keras.layers.RepeatVector用法及代码示例
- Python tf.keras.layers.Multiply用法及代码示例
- Python tf.keras.layers.Activation用法及代码示例
- Python tf.keras.layers.Conv1D用法及代码示例
- Python tf.keras.layers.CategoryEncoding用法及代码示例
- Python tf.keras.layers.subtract用法及代码示例
- Python tf.keras.layers.Subtract用法及代码示例
- Python tf.keras.layers.ZeroPadding3D用法及代码示例
- Python tf.keras.layers.MaxPool3D用法及代码示例
- Python tf.keras.layers.Dot用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.experimental.preprocessing.HashedCrossing。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。