From 2eb08fff8551e183ec04eea8f3dca6266081334e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20du=20Hamel?= Date: Sun, 8 Dec 2024 16:17:42 +0100 Subject: [PATCH 1/2] Pretty_progress model loading --- model.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/model.cpp b/model.cpp index c90918ad2..4c6424368 100644 --- a/model.cpp +++ b/model.cpp @@ -1695,9 +1695,11 @@ bool ModelLoader::load_tensors(on_new_tensor_cb_t on_new_tensor_cb, ggml_backend } return true; }; - + int tensor_count = 0; + int64_t t1 = ggml_time_ms(); for (auto& tensor_storage : processed_tensor_storages) { if (tensor_storage.file_index != file_index) { + ++tensor_count; continue; } ggml_tensor* dst_tensor = NULL; @@ -1709,6 +1711,7 @@ bool ModelLoader::load_tensors(on_new_tensor_cb_t on_new_tensor_cb, ggml_backend } if (dst_tensor == NULL) { + ++tensor_count; continue; } @@ -1775,6 +1778,9 @@ bool ModelLoader::load_tensors(on_new_tensor_cb_t on_new_tensor_cb, ggml_backend ggml_backend_tensor_set(dst_tensor, convert_buffer.data(), 0, ggml_nbytes(dst_tensor)); } } + int64_t t2 = ggml_time_ms(); + pretty_progress(++tensor_count, processed_tensor_storages.size(), (t2 - t1) / 1000.0f); + t1 = t2; } if (zip != NULL) { From 3ca758cb97279f600e52592a45ac675d54105e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20du=20Hamel?= Date: Sun, 8 Dec 2024 16:20:48 +0100 Subject: [PATCH 2/2] pretty_progress: erase to end of line --- util.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util.cpp b/util.cpp index 3bcee0946..01c01200e 100644 --- a/util.cpp +++ b/util.cpp @@ -348,7 +348,7 @@ void pretty_progress(int step, int steps, float time) { } } progress += "|"; - printf(time > 1.0f ? "\r%s %i/%i - %.2fs/it" : "\r%s %i/%i - %.2fit/s", + printf(time > 1.0f ? "\r%s %i/%i - %.2fs/it" : "\r%s %i/%i - %.2fit/s\033[K", progress.c_str(), step, steps, time > 1.0f || time == 0 ? time : (1.0f / time)); fflush(stdout); // for linux