This commit is contained in:
Josh Yan 2024-07-09 16:52:47 -07:00
parent 9e0b8f1fe2
commit 542134bf50

View File

@ -49,17 +49,26 @@ func Quantize(infile, outfile string, ftype fileType, fn func(resp api.ProgressR
params.quantize_callback_data = store
params.quantize_callback = (C.llama_progress_callback)(C.update_quantize_progress)
go func () {
ticker := time.NewTicker(60 * time.Millisecond)
done := make(chan struct{})
defer close(done)
go func() {
defer ticker.Stop()
for {
time.Sleep(60 * time.Millisecond)
if params.quantize_callback_data == nil {
return
} else {
select {
case <-ticker.C:
progress := *((*C.float)(store))
fn(api.ProgressResponse{
Status: fmt.Sprintf("quantizing model %d%%", int(progress*100)),
Quantize: "quant",
})
case <-done:
fn(api.ProgressResponse{
Status: "quantizing model",
Quantize: "quant",
})
return
}
}
}()