From 348a54e34a2b3dea0e781f58260532a335757416 Mon Sep 17 00:00:00 2001 From: stduhpf Date: Sat, 28 Dec 2024 06:14:52 +0100 Subject: [PATCH] feat: use pretty-progress for tensor loading (#516) --- model.cpp | 8 +++++++- util.cpp | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/model.cpp b/model.cpp index dae1e0d..dcbaae5 100644 --- a/model.cpp +++ b/model.cpp @@ -1748,9 +1748,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; @@ -1762,6 +1764,7 @@ bool ModelLoader::load_tensors(on_new_tensor_cb_t on_new_tensor_cb, ggml_backend } if (dst_tensor == NULL) { + ++tensor_count; continue; } @@ -1828,6 +1831,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) { diff --git a/util.cpp b/util.cpp index 3bcee09..01c0120 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