feat: use pretty-progress for tensor loading (#516)
This commit is contained in:
parent
d50473dc49
commit
348a54e34a
@ -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) {
|
||||||
|
2
util.cpp
2
util.cpp
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user