"Giriş" değerlerini "eşik" ile karşılaştırın ve elde edilen bitleri bir "uint8"e paketleyin.
Her karşılaştırma bir boolean "true" ("giriş_değeri > eşik" ise) veya aksi takdirde "false" değerini döndürür.
Bu işlem, Yerelliğe Duyarlı Karma (LSH) ve kosinüs ve "L2" uzaklıklarının karma yaklaşımlarını kullanan diğer algoritmalar için kullanışlıdır; kodlar bir girişten şu yollarla oluşturulabilir:
codebook_size = 50
codebook_bits = codebook_size * 32
codebook = tf.get_variable('codebook', [x.shape[-1].value, codebook_bits],
dtype=x.dtype,
initializer=tf.orthogonal_initializer())
codes = compare_and_threshold(tf.matmul(x, codebook), threshold=0.)
codes = tf.bitcast(codes, tf.int32) # go from uint8 to int32
# now codes has shape x.shape[:-1] + [codebook_size]
'[s0, s1, ..., s_n]' şeklinde bir 'girdi' verildiğinde, çıktı '[s0, s1, ..., s_n / 8]' şeklinde bir 'uint8' tensörüdür.
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
Çıkış < TUint8 > | Çıkış olarak () Tensörün sembolik tutamacını döndürür. |
static <T, TType'ı genişletir > CompareAndBitpack | |
Çıkış < TUint8 > | çıktı () Bit paketli karşılaştırmalar. |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
genel Çıkış < TUint8 > asOutput ()
Tensörün sembolik tutamacını döndürür.
TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.
public static CompareAndBitpack create ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <T> eşiği)
Yeni bir CompareAndBitpack işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
giriş | "Eşik" ve bit paketiyle karşılaştırılacak değerler. |
eşik | Karşılaştırılacak eşik. |
İade
- CompareAndBitpack'in yeni bir örneği