summaryrefslogtreecommitdiff
path: root/examples/eval-callback/eval-callback.cpp
diff options
context:
space:
mode:
authorPierrick Hymbert <pierrick.hymbert@gmail.com>2024-04-13 11:33:52 +0200
committerGitHub <noreply@github.com>2024-04-13 11:33:52 +0200
commit4bd0f93e4ab4fe6682e7d0241c1bdec1397e954a (patch)
treeda912ccbf957473fb5aa6868c9cd73f0fcc42e63 /examples/eval-callback/eval-callback.cpp
parentab9a3240a9da941fdef5cd4a25f2b97c2f5a67aa (diff)
model: support arch `DbrxForCausalLM` (#6515)
* model: dbrx convert to gguf #6344 * llama: support dbrx #6344 * doc: dbrx: add the model as supported * scripts: get-wikitext-2 add unzip * llama: increase maximum experts allowed * llama: factorize moe graph implementation between grok, mixtral and dbrx --------- Co-authored-by: Megha Agarwal <16129366+megha95@users.noreply.github.com>
Diffstat (limited to 'examples/eval-callback/eval-callback.cpp')
-rw-r--r--examples/eval-callback/eval-callback.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/examples/eval-callback/eval-callback.cpp b/examples/eval-callback/eval-callback.cpp
index 05f7d6ab..29b5f3b3 100644
--- a/examples/eval-callback/eval-callback.cpp
+++ b/examples/eval-callback/eval-callback.cpp
@@ -28,14 +28,27 @@ static std::string ggml_ne_string(const ggml_tensor * t) {
}
static void ggml_print_tensor(uint8_t * data, ggml_type type, const int64_t * ne, const size_t * nb, int64_t n) {
+ GGML_ASSERT(n > 0);
float sum = 0;
for (int64_t i3 = 0; i3 < ne[3]; i3++) {
printf(" [\n");
- for (int64_t i2 = 0; i2 < ne[2] && i2 < n; i2++) {
+ for (int64_t i2 = 0; i2 < ne[2]; i2++) {
+ if (i2 == n && ne[2] > 2*n) {
+ printf(" ..., \n");
+ i2 = ne[2] - n;
+ }
printf(" [\n");
- for (int64_t i1 = 0; i1 < ne[1] && i1 < n; i1++) {
+ for (int64_t i1 = 0; i1 < ne[1]; i1++) {
+ if (i1 == n && ne[1] > 2*n) {
+ printf(" ..., \n");
+ i1 = ne[1] - n;
+ }
printf(" [");
- for (int64_t i0 = 0; i0 < ne[0] && i0 < n; i0++) {
+ for (int64_t i0 = 0; i0 < ne[0]; i0++) {
+ if (i0 == n && ne[0] > 2*n) {
+ printf("..., ");
+ i0 = ne[0] - n;
+ }
size_t i = i3 * nb[3] + i2 * nb[2] + i1 * nb[1] + i0 * nb[0];
float v;
if (type == GGML_TYPE_F16) {
@@ -51,17 +64,14 @@ static void ggml_print_tensor(uint8_t * data, ggml_type type, const int64_t * ne
} else {
GGML_ASSERT(false);
}
- printf("%8.4f", v);
+ printf("%12.4f", v);
sum += v;
- if (i0 < ne[0] - 1 && i0 < n - 1) printf(", ");
+ if (i0 < ne[0] - 1) printf(", ");
}
- if (ne[0] > n) printf(", ...");
printf("],\n");
}
- if (ne[1] > n) printf(" ...\n");
printf(" ],\n");
}
- if (ne[2] > n) printf(" ...\n");
printf(" ]\n");
printf(" sum = %f\n", sum);
}