Computing ระยะห่างของภาพฝังตัวต่อต้านกลุ่มของภาพ embeddings

0

คำถาม

ว่าไปอย่างถูกต้อง\เข้าไประยะห่างของภาพฝังตัวต่อต้านรายการ/กลุ่มขออีกรูปภาพฝังตัว?

ฉันมี pretrained นางแบบว่าฉันใช้เพื่อคลายแฟ้ม embeddings จากภาพต่างๆแล้วฉันควรจะทำเพื่อให้ระยะห่างของภาพต่อต้านอื่นๆปนอยู่ด้วยซึ่งเป็นภาพ i.e.

Embedding (1028,) against Embedding (5, 1028)

ฉันกำลังพยายามทำเป็นภาพความคล้ายคลึงกันการทดลอยู่ที่ไหนข้อความด่วนทันใจใช้โคไซน์ความคล้ายคลึงกันเมตริก the imperial system จาก Tensorflow ต้องสะทกสะทานเลยละสิระยะห่างระหว่างสองฝังตัวและมันใช้งานได้ดีใน 1-กา-1 computation i.e.

Embedding_1 = (1028,)
Embedding_2 = (1028,)
metrics.CosineSimilarity(Embedding_1, Embedding_2)

แต่ฉันไม่สามารถหาวิธีที่จะทำมันใน 1-กา-N ระยะห่าง computation.

Embedding_1 = (1028,)
Embedding_Group = [(1028,),(1028,),(1028,),(1028,),(1028,)]
1

คำตอบที่ดีที่สุด

1

มันอาจจะจบกับ ออกอากาศ. Iterating ตรภาพและ computing ระยะห่างสำหรับแต่ละบุคคลหนึ่งคู่เป็นความคิดที่แย่มากในคดีนี้ตั้งแต่มันจะไม่เป็น parallelized(เว้นแต่ว่าคุณรู้วิธีที่จะทำมันด้วยมือตัวเอง).

import tensorflow as tf

embedding = tf.constant([1., 1.]) # your shape here is (1028,) instead of (2,)
embedding_group = tf.constant([[1., 1.], [1., 2.], [0., 1.]]) # your shape here is (5, 1028) instead of (3, 2)
norm_embedding = tf.nn.l2_normalize(embedding[None, ...], axis=-1)
norm_embedding_group = tf.nn.l2_normalize(embedding_group, axis=-1)
similarity = tf.reduce_sum(norm_embedding * norm_embedding_group, axis=-1) # cosine similarity of same shape as number of samples

print(norm_embedding.numpy())
print(norm_embedding_group.numpy())
print(similarity.numpy())
# [[0.7071067 0.7071067]]
# [[0.7071067  0.7071067 ]
#  [0.44721356 0.8944271 ]
#  [0.         1.        ]]
# [0.9999998  0.94868314 0.7071067 ]
2021-11-22 13:22:59

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่