move normalization to go

This commit is contained in:
Roy Han
2024-07-01 14:10:58 -07:00
parent 9c32b6b9ed
commit aee25acb5b
7 changed files with 94 additions and 44 deletions

View File

@@ -657,19 +657,19 @@ static json probs_vector_to_json(const llama_context *ctx, const std::vector<com
return out;
}
// normalize a vector
static std::vector<float> normalize_vector(const std::vector<float>& vec, int size) {
double sum = 0.0;
for (float value : vec) {
sum += value * value;
}
sum = std::sqrt(sum);
// // normalize a vector
// static std::vector<float> normalize_vector(const std::vector<float>& vec, int size) {
// double sum = 0.0;
// for (float value : vec) {
// sum += value * value;
// }
// sum = std::sqrt(sum);
const float norm = sum > 0.0 ? 1.0f / sum : 0.0f;
// const float norm = sum > 0.0 ? 1.0f / sum : 0.0f;
std::vector<float> normalized_vec(size);
for (int i = 0; i < size; i++) {
normalized_vec[i] = vec[i] * norm;
}
return normalized_vec;
}
// std::vector<float> normalized_vec(size);
// for (int i = 0; i < size; i++) {
// normalized_vec[i] = vec[i] * norm;
// }
// return normalized_vec;
// }