スパースおよびデンステンソルのリストからスパースクロスを生成します。
この操作は 2 つのリスト (2D `SparseTensor` の 1 つと 2D `Tensor` の 1 つ) を受け取り、それぞれが 1 つの特徴列の特徴を表します。これらの特徴のバッチごとの交差を含む 2D `SparseTensor` を出力します。
たとえば、入力が次の場合、
inputs[0]: 形状 = [2, 2] の SparseTensor [0, 0]: "a" [1, 0]: "b" [1, 1]: "c"
inputs[1]: 形状 = [2, 1] [0, 0]: "d" [1, 0]: "e" の SparseTensor
入力[2]: テンソル [["f"], ["g"]]
出力は次のようになります
形状 = [2, 2] [0, 0]: "a_X_d_X_f" [1, 0]: "b_X_e_X_g" [1, 1]: "c_X_e_X_g"
hashed_output=true の場合、出力は次のようになります。
形状 = [2, 2] [0, 0]: FingerprintCat64( Fingerprint64("f"), FingerprintCat64( Fingerprint64("d"), Fingerprint64("a"))) [1, 0]: FingerprintCat64( Fingerprint64(" g"), FingerprintCat64( Fingerprint64("e"), Fingerprint64("b"))) [1, 1]: FingerprintCat64( Fingerprint64("g"), FingerprintCat64( Fingerprint64("e"), Fingerprint64("c") )))
パブリックメソッド
public static SparseCrossHashed create (スコープスコープ、Iterable< Operand <Long>> インデックス、Iterable< Operand <?>> 値、Iterable< Operand <Long>> 形状、Iterable< Operand <?>> DensityInputs、 Operand <Long> numBuckets、オペランド<Boolean>strongHash、オペランド<Long>salt)
新しい SparseCrossHashed オペレーションをラップするクラスを作成するファクトリ メソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
インデックス | 2D。各入力 `SparseTensor` のインデックス。 |
価値観 | 1-D。各 `SparseTensor` の値。 |
形 | 1-D。各 `SparseTensor` の形状。 |
密な入力 | 2D。高密度の `Tensor` で表される列。 |
バケット数 | hashed_output が true の場合に使用されます。出力 = hashed_value%num_buckets if num_buckets > 0 else hashed_value。 |
ストロングハッシュ | ブール値、true の場合、farmhash の代わりにソルトを含む siphash が使用されます。 |
塩 | siphash 関数で使用されるソルトを指定します。 |
戻り値
- SparseCrossHashed の新しいインスタンス