diff --git a/src/llama-model.cpp b/src/llama-model.cpp index f1cba4f39..f134d1bf1 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -1464,7 +1465,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { if (ml.tensor_buft_overrides) { std::string tensor_name = tn.str(); for (const auto * overrides = ml.tensor_buft_overrides; overrides->pattern != nullptr; ++overrides) { - if (tensor_name.find(overrides->pattern) != std::string::npos) { + std::regex pattern(overrides->pattern); + if (std::regex_search(tensor_name, pattern)) { LLAMA_LOG_DEBUG("tensor %s buffer type overriden to %s\n", tensor_name.c_str(), ggml_backend_buft_name(overrides->buft)); buft = overrides->buft; break;