Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
1dbc1440
Unverified
Commit
1dbc1440
authored
Jul 25, 2023
by
Xiaoke Huang
Committed by
GitHub
Jul 25, 2023
Browse files
Fix: repeat per sample for SAM image embeddings (#25074)
Repeat per sample for SAM image embeddings
parent
cb8abee5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
4 deletions
+4
-4
src/transformers/models/sam/modeling_sam.py
src/transformers/models/sam/modeling_sam.py
+2
-2
src/transformers/models/sam/modeling_tf_sam.py
src/transformers/models/sam/modeling_tf_sam.py
+2
-2
No files found.
src/transformers/models/sam/modeling_sam.py
View file @
1dbc1440
...
@@ -507,8 +507,8 @@ class SamMaskDecoder(nn.Module):
...
@@ -507,8 +507,8 @@ class SamMaskDecoder(nn.Module):
# Expand per-image data in batch direction to be per-point
# Expand per-image data in batch direction to be per-point
image_embeddings
=
image_embeddings
+
dense_prompt_embeddings
image_embeddings
=
image_embeddings
+
dense_prompt_embeddings
image_embeddings
=
image_embeddings
.
repeat
(
point_batch_size
,
1
,
1
,
1
)
image_embeddings
=
image_embeddings
.
repeat
_interleave
(
point_batch_size
,
0
)
image_positional_embeddings
=
image_positional_embeddings
.
repeat
(
point_batch_size
,
1
,
1
,
1
)
image_positional_embeddings
=
image_positional_embeddings
.
repeat
_interleave
(
point_batch_size
,
0
)
# Run the transformer, image_positional_embedding are consumed
# Run the transformer, image_positional_embedding are consumed
point_embedding
,
image_embeddings
,
attentions
=
self
.
transformer
(
point_embedding
,
image_embeddings
,
attentions
=
self
.
transformer
(
...
...
src/transformers/models/sam/modeling_tf_sam.py
View file @
1dbc1440
...
@@ -517,8 +517,8 @@ class TFSamMaskDecoder(tf.keras.layers.Layer):
...
@@ -517,8 +517,8 @@ class TFSamMaskDecoder(tf.keras.layers.Layer):
point_embeddings
=
tf
.
cast
(
tokens
,
self
.
iou_token
.
dtype
)
point_embeddings
=
tf
.
cast
(
tokens
,
self
.
iou_token
.
dtype
)
image_embeddings
=
image_embeddings
+
dense_prompt_embeddings
image_embeddings
=
image_embeddings
+
dense_prompt_embeddings
image_embeddings
=
tf
.
tile
(
image_embeddings
,
[
point_batch_size
,
1
,
1
,
1
]
)
image_embeddings
=
tf
.
repeat
(
image_embeddings
,
point_batch_size
,
axis
=
0
)
image_positional_embeddings
=
tf
.
tile
(
image_positional_embeddings
,
[
point_batch_size
,
1
,
1
,
1
]
)
image_positional_embeddings
=
tf
.
repeat
(
image_positional_embeddings
,
point_batch_size
,
axis
=
0
)
point_embedding
,
image_embeddings
,
attentions
=
self
.
transformer
(
point_embedding
,
image_embeddings
,
attentions
=
self
.
transformer
(
point_embeddings
=
point_embeddings
,
point_embeddings
=
point_embeddings
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment