[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_height = npatches * num_patch_height
current_width = npatches * num_patch_width 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 current_aspect_ratio = current_width / current_height
if aspect_ratio > current_aspect_ratio: if original_aspect_ratio > current_aspect_ratio:
new_height = (original_height * current_width) // original_width scale_factor = current_width / original_width
new_height = int(original_height * scale_factor)
padding = (current_height - new_height) // 2 padding = (current_height - new_height) // 2
current_height -= padding * 2 current_height -= 2 * padding
else: 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 padding = (current_width - new_width) // 2
current_width -= padding * 2 current_width -= 2 * padding
unpadded_features = current_height * current_width unpadded_features = current_height * current_width
newline_features = current_height newline_features = current_height