MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / test_tfs

Function test_tfs

tests/test-sampling.cpp:64–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64static void test_tfs(const std::vector<float> & probs, const std::vector<float> & expected_probs, float z) {
65 size_t n_vocab = probs.size();
66 std::vector<llama_token_data> candidates;
67 candidates.reserve(n_vocab);
68 for (llama_token token_id = 0; token_id < (llama_token)n_vocab; token_id++) {
69 float logit = log(probs[token_id]);
70 candidates.emplace_back(llama_token_data{token_id, logit, 0.0f});
71 }
72
73 llama_token_data_array candidates_p = { candidates.data(), candidates.size(), false };
74 DUMP(&candidates_p);
75 llama_sample_tail_free(nullptr, &candidates_p, z, 1);
76 DUMP(&candidates_p);
77
78 GGML_ASSERT(candidates_p.size == expected_probs.size());
79 for (size_t i = 0; i < candidates_p.size; i++) {
80 GGML_ASSERT(fabs(candidates_p.data[i].p - expected_probs[i]) < 1e-3);
81 }
82}
83
84static void test_typical(const std::vector<float> & probs, const std::vector<float> & expected_probs, float p) {
85 size_t n_vocab = probs.size();

Callers 1

mainFunction · 0.85

Calls 5

logFunction · 0.85
llama_sample_tail_freeFunction · 0.85
reserveMethod · 0.80
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected