2nd model.generate call throws segmentation fault
kodema5 opened this issue · 2 comments
kodema5 commented
calling model.generate second time (without reloading model) throws a segmentation fault.
is there a way to call model.generate multiple time without reload model?
thank you.
the following script,
from pygpt4all.models.gpt4all_j import GPT4All_J
model = GPT4All_J('../.models/ggml-gpt4all-j-v1.3-groovy.bin')
def cb(text):
print(text,end="")
model.generate("What is today?", n_predict=55, new_text_callback=cb)
# is it needed to reload model?
# model = GPT4All_J('../.models/ggml-gpt4all-j-v1.3-groovy.bin')
model.generate("What is tomorrow?", n_predict=55, new_text_callback=cb)
throws a segmentation fault as below
gptj_model_load: loading model from '../.models/ggml-gpt4all-j-v1.3-groovy.bin' - please wait ...
gptj_model_load: n_vocab = 50400
gptj_model_load: n_ctx = 2048
gptj_model_load: n_embd = 4096
gptj_model_load: n_head = 16
gptj_model_load: n_layer = 28
gptj_model_load: n_rot = 64
gptj_model_load: f16 = 2
gptj_model_load: ggml ctx size = 4505.45 MB
gptj_model_load: memory_size = 896.00 MB, n_mem = 57344
gptj_model_load: ................................... done
gptj_model_load: model size = 3609.38 MB / num tensors = 285
gptj_generate: seed = 1682550769
gptj_generate: number of tokens in prompt = 4
gptj_generate: mem per token = 15478000 bytes
gptj_generate: load time = 0.00 ms
gptj_generate: sample time = 2.10 ms
gptj_generate: predict time = 887.21 ms / 55.45 ms per token
gptj_generate: total time = 1153.46 ms
gptj_generate: seed = 1682550770
gptj_generate: number of tokens in prompt = 4
zsh: segmentation fault python test_pygpt4all.py
abdeladim-s commented
Hi @kodema5,
Thanks for reporting the issue.
It should be solved now. Please update the package and ensure you have pygptj
version 1.0.9
.
kodema5 commented
it works. thank you very much.