From a2a5f1bfbdf50ad174990d762da9e6efe3d6e437 Mon Sep 17 00:00:00 2001 From: ngxson Date: Wed, 12 Jun 2024 16:01:00 +0200 Subject: [PATCH] better error handling --- .../control-vector-generator.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/examples/control-vector-generator/control-vector-generator.cpp b/examples/control-vector-generator/control-vector-generator.cpp index 0e4bb8a02..920b542f1 100644 --- a/examples/control-vector-generator/control-vector-generator.cpp +++ b/examples/control-vector-generator/control-vector-generator.cpp @@ -284,7 +284,8 @@ static std::vector ctrlvec_load_prompt_file(std::string path, bool std::vector output; std::ifstream file(path); if (!file.is_open()) { - throw std::runtime_error("Unable to open file " + path); + fprintf(stderr, "error: unable to open file: %s\n", path.c_str()); + exit(1); } std::string line; while (std::getline(file, line)) { @@ -441,6 +442,7 @@ int main(int argc, char ** argv) { std::cout << "n_total_tokens: " << n_total_tokens << std::endl; for(size_t i = 0; i < ctx_train.positive_entries.size(); ++i) { + bool success = false; tokenized_prompt t = tokenized_prompts[i]; cb_data.n_layers = n_layers; cb_data.n_tokens = t.max_seq_len; @@ -452,9 +454,12 @@ int main(int argc, char ** argv) { (int) t.max_seq_len); cb_data.is_eval_pos = true; - get_hidden_layers(ctx, t.tokens_pos); + success = get_hidden_layers(ctx, t.tokens_pos); + if (!success) break; + cb_data.is_eval_pos = false; - get_hidden_layers(ctx, t.tokens_neg); + success = get_hidden_layers(ctx, t.tokens_neg); + if (!success) break; // calculate diff and remove all zero rows auto v_diff_filtered = cb_data.calc_diff();