From c1598d443f5bad23595de916c32553b620dcbeba Mon Sep 17 00:00:00 2001 From: Jonas Knobloch Date: Fri, 10 Apr 2026 22:45:40 +0200 Subject: Destroy session on model teardown --- gpt2/cmd/gpt2/main.go | 8 ++++++-- gpt2/model.go | 24 +++++++++++++----------- 2 files changed, 19 insertions(+), 13 deletions(-) (limited to 'gpt2') diff --git a/gpt2/cmd/gpt2/main.go b/gpt2/cmd/gpt2/main.go index a1b3cf8..fc7dec8 100644 --- a/gpt2/cmd/gpt2/main.go +++ b/gpt2/cmd/gpt2/main.go @@ -53,7 +53,9 @@ func generate(prompt []int64) { fmt.Println(selectLogProbs(logits[:len(logits)-1], prompt[1:])) - m.Destroy() + if err := m.Destroy(); err != nil { + log.Fatal(err) + } } func score(prompt []int64) { @@ -81,7 +83,9 @@ func score(prompt []int64) { fmt.Println(logProbs) - m.Destroy() + if err := m.Destroy(); err != nil { + log.Fatal(err) + } } func selectLogProbs(logits [][]float32, tokens []int64) []float32 { diff --git a/gpt2/model.go b/gpt2/model.go index 20dcb71..5fef956 100644 --- a/gpt2/model.go +++ b/gpt2/model.go @@ -12,20 +12,20 @@ import ( ) type Model struct { - name string - deviceID string - config Config - options Options - session *ort.DynamicAdvancedSession - allocator *Allocator + name string + deviceID string + config Config + options Options + session *ort.DynamicAdvancedSession + allocator *Allocator } func NewModel(name string, deviceID string, cfg Config, opts Options) *Model { return &Model{ - name: name, - deviceID: deviceID, - config: cfg, - options: opts, + name: name, + deviceID: deviceID, + config: cfg, + options: opts, } } @@ -89,8 +89,10 @@ func (m *Model) Init() error { return nil } -func (m *Model) Destroy() { +func (m *Model) Destroy() error { m.allocator.Destroy() + + return m.session.Destroy() } func (m *Model) Generate(prompt []int64, steps int64, logits *[][]float32) ([]int64, error) { -- cgit v1.3.1