diff options
author | Ásgeir Bjarni Ingvarsson <asgeir@fundinn.org> | 2023-04-26 20:08:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-26 22:08:43 +0200 |
commit | 87a6f846d3e929632c45916dd08f1e2a9c72d2a3 (patch) | |
tree | 3f7dbad866c710048a066704ec5d9af4ab34feb2 /llama.cpp | |
parent | ea3ad7eb60cfb44526a58122e8019850f437cd1b (diff) |
Allow setting the rng seed after initialization. (#1184)
The llama_set_state_data function restores the rng state to what it
was at the time llama_copy_state_data was called. But users may want
to restore the state and proceed with a different seed.
Diffstat (limited to 'llama.cpp')
-rw-r--r-- | llama.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -2082,6 +2082,13 @@ int llama_get_kv_cache_token_count(struct llama_context * ctx) { #define LLAMA_MAX_RNG_STATE 64*1024 +void llama_set_rng_seed(struct llama_context * ctx, int seed) { + if (seed <= 0) { + seed = time(NULL); + } + ctx->rng.seed(seed); +} + // Returns the size of the state size_t llama_get_state_size(struct llama_context * ctx) { // we don't know size of rng until we actually serialize it. so reserve more than enough memory for its serialized state. |