feat: use pretty-progress for tensor loading (#516)

This commit is contained in:
stduhpf 2024-12-28 06:14:52 +01:00 committed by GitHub
parent d50473dc49
commit 348a54e34a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 2 deletions

View File

@ -1748,9 +1748,11 @@ bool ModelLoader::load_tensors(on_new_tensor_cb_t on_new_tensor_cb, ggml_backend
} }
return true; return true;
}; };
int tensor_count = 0;
int64_t t1 = ggml_time_ms();
for (auto& tensor_storage : processed_tensor_storages) { for (auto& tensor_storage : processed_tensor_storages) {
if (tensor_storage.file_index != file_index) { if (tensor_storage.file_index != file_index) {
++tensor_count;
continue; continue;
} }
ggml_tensor* dst_tensor = NULL; 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) { if (dst_tensor == NULL) {
++tensor_count;
continue; 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)); 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) { if (zip != NULL) {

View File

@ -348,7 +348,7 @@ void pretty_progress(int step, int steps, float time) {
} }
} }
progress += "|"; 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, progress.c_str(), step, steps,
time > 1.0f || time == 0 ? time : (1.0f / time)); time > 1.0f || time == 0 ? time : (1.0f / time));
fflush(stdout); // for linux fflush(stdout); // for linux