使用"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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。