[Bugfix] Fix incorrect llava next feature size calculation (#8496)

This commit is contained in:
zyddnys 2024-09-20 18:48:32 -04:00 committed by GitHub
parent 7f9c8902e3
commit 0f961b3ce9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -87,17 +87,19 @@ def _get_llava_next_num_unpadded_features(
current_height = npatches * num_patch_height
current_width = npatches * num_patch_width
aspect_ratio = original_width / original_height
original_aspect_ratio = original_width / original_height
current_aspect_ratio = current_width / current_height
if aspect_ratio > current_aspect_ratio:
new_height = (original_height * current_width) // original_width
if original_aspect_ratio > current_aspect_ratio:
scale_factor = current_width / original_width
new_height = int(original_height * scale_factor)
padding = (current_height - new_height) // 2
current_height -= padding * 2
current_height -= 2 * padding
else:
new_width = (original_width * current_height) // original_height
scale_factor = current_height / original_height
new_width = int(original_width * scale_factor)
padding = (current_width - new_width) // 2
current_width -= padding * 2
current_width -= 2 * padding
unpadded_features = current_height * current_width
newline_features = current_height