Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 51032b1

Browse files
committed
gguf-dump.py: element count autosizing
1 parent dfbf6e1 commit 51032b1

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

gguf-py/scripts/gguf-dump.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
if "NO_LOCAL_GGUF" not in os.environ and (Path(__file__).parent.parent.parent / 'gguf-py').exists():
1515
sys.path.insert(0, str(Path(__file__).parent.parent))
1616

17-
from gguf import GGUFReader, GGUFValueType # noqa: E402
17+
from gguf import GGUFReader, GGUFValueType, ReaderTensor # noqa: E402
1818

1919
logger = logging.getLogger("gguf-dump")
2020

@@ -319,22 +319,23 @@ def dump_markdown_metadata(reader: GGUFReader, args: argparse.Namespace) -> None
319319
group_percentage = group_elements / total_elements * 100
320320
markdown_content += f"### <a name=\"{group.replace('.', '_')}\">{translate_tensor_name(group)} Tensor Group : {element_count_rounded_notation(group_elements)} Elements</a>\n\n"
321321

322-
# Precalculate pretty shape column sizing for visual consistency
322+
# Precalculate column sizing for visual consistency
323+
prettify_element_est_count_size: int = 1
324+
prettify_element_count_size: int = 1
323325
prettify_dimension_max_widths: dict[int, int] = {}
324326
for tensor in tensors:
327+
prettify_element_est_count_size = max(prettify_element_est_count_size, len(str(element_count_rounded_notation(tensor.n_elements))))
328+
prettify_element_count_size = max(prettify_element_count_size, len(str(tensor.n_elements)))
325329
for i, dimension_size in enumerate(list(tensor.shape) + [1] * (4 - len(tensor.shape))):
326-
if i in prettify_dimension_max_widths:
327-
prettify_dimension_max_widths[i] = max(prettify_dimension_max_widths[i], len(str(dimension_size)))
328-
else:
329-
prettify_dimension_max_widths[i] = len(str(dimension_size))
330+
prettify_dimension_max_widths[i] = max(prettify_dimension_max_widths.get(i,1), len(str(dimension_size)))
330331

331332
# Generate Tensor Layer Table Content
332333
tensor_dump_table: list[dict[str, str | int]] = []
333334
for tensor in tensors:
334335
human_friendly_name = translate_tensor_name(tensor.name.replace(".weight", ".(W)").replace(".bias", ".(B)"))
335336
pretty_dimension = ' x '.join(f'{str(d):>{prettify_dimension_max_widths[i]}}' for i, d in enumerate(list(tensor.shape) + [1] * (4 - len(tensor.shape))))
336-
element_count_est = f"({element_count_rounded_notation(tensor.n_elements):>5})"
337-
element_count_string = f"{element_count_est} {tensor.n_elements:>8}"
337+
element_count_est = f"({element_count_rounded_notation(tensor.n_elements):>{prettify_element_est_count_size}})"
338+
element_count_string = f"{element_count_est} {tensor.n_elements:>{prettify_element_count_size}}"
338339
type_name_string = f"{tensor.tensor_type.name}"
339340
tensor_dump_table.append({"t_id":tensor_name_to_key[tensor.name], "layer_name":tensor.name, "human_layer_name":human_friendly_name, "element_count":element_count_string, "pretty_dimension":pretty_dimension, "tensor_type":type_name_string})
340341

0 commit comments

Comments
 (0)