refine code

Signed-off-by: Wang, Yi A <yi.a.wang@intel.com>
This commit is contained in:
Wang, Yi A 2025-08-19 19:52:19 -07:00
parent f384e0f308
commit dc132b3a4d

View File

@ -648,37 +648,18 @@ fn image_tokens(
let max_longest_edge_for_image_resize = config.get_max_longest_edge_for_image_resize();
let max_image_size = config.get_max_image_size();
// resize image to max_longest_edge_for_image_resize and keep aspect ratio
let (height, width) = {
let aspect_ratio = height as f32 / width as f32;
if height > width {
(
max_longest_edge_for_image_resize,
(max_longest_edge_for_image_resize as f32 / aspect_ratio) as usize,
)
} else {
(
(max_longest_edge_for_image_resize as f32 * aspect_ratio) as usize,
max_longest_edge_for_image_resize,
)
}
};
let h = height as f32;
let w = width as f32;
let (height, width) = {
let aspect_ratio = height as f32 / width as f32;
if height >= width && height > max_image_size {
(
max_image_size,
(max_image_size as f32 / aspect_ratio) as usize,
)
} else if width > height && width > max_image_size {
(
(max_image_size as f32 * aspect_ratio) as usize,
max_image_size,
)
} else {
(height, width)
}
// First resize to max_longest_edge (always scale to this size)
let scale1 = max_longest_edge_for_image_resize as f32 / h.max(w);
let (h, w) = (h * scale1, w * scale1);
// Ensure we dont exceed max_size (only scale down)
let scale2 = (max_image_size as f32 / h.max(w)).min(1.0);
((h * scale2) as usize, (w * scale2) as usize)
};
let image_seq_len = config.get_number_of_features();