Skip to content

Commit 1d7cc16

Browse files
jp1924BernardZach
authored andcommitted
Fix: img size mismatch caused by incorrect unpadding in LLaVA-Next (huggingface#34522)
Fix: unpadding img mismatch
1 parent 21d0442 commit 1d7cc16

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

src/transformers/models/llava_next/modeling_llava_next.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ def unpad_image(tensor, original_size):
138138

139139
if original_aspect_ratio > current_aspect_ratio:
140140
scale_factor = current_width / original_width
141-
new_height = int(original_height * scale_factor)
141+
new_height = int(round(original_height * scale_factor, 7))
142142
padding = (current_height - new_height) // 2
143143
unpadded_tensor = tensor[:, padding : current_height - padding, :]
144144
else:
145145
scale_factor = current_height / original_height
146-
new_width = int(original_width * scale_factor)
146+
new_width = int(round(original_width * scale_factor, 7))
147147
padding = (current_width - new_width) // 2
148148
unpadded_tensor = tensor[:, :, padding : current_width - padding]
149149

src/transformers/models/llava_next_video/modeling_llava_next_video.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,12 @@ def unpad_image(tensor, original_size):
143143

144144
if original_aspect_ratio > current_aspect_ratio:
145145
scale_factor = current_width / original_width
146-
new_height = int(original_height * scale_factor)
146+
new_height = int(round(original_height * scale_factor, 7))
147147
padding = (current_height - new_height) // 2
148148
unpadded_tensor = tensor[:, padding : current_height - padding, :]
149149
else:
150150
scale_factor = current_height / original_height
151-
new_width = int(original_width * scale_factor)
151+
new_width = int(round(original_width * scale_factor, 7))
152152
padding = (current_width - new_width) // 2
153153
unpadded_tensor = tensor[:, :, padding : current_width - padding]
154154

src/transformers/models/llava_onevision/modeling_llava_onevision.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,12 @@ def unpad_image(tensor, original_size):
139139

140140
if original_aspect_ratio > current_aspect_ratio:
141141
scale_factor = current_width / original_width
142-
new_height = int(original_height * scale_factor)
142+
new_height = int(round(original_height * scale_factor, 7))
143143
padding = (current_height - new_height) // 2
144144
unpadded_tensor = tensor[:, padding : current_height - padding, :]
145145
else:
146146
scale_factor = current_height / original_height
147-
new_width = int(original_width * scale_factor)
147+
new_width = int(round(original_width * scale_factor, 7))
148148
padding = (current_width - new_width) // 2
149149
unpadded_tensor = tensor[:, :, padding : current_width - padding]
150150

0 commit comments

Comments
 (0)