Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
4892872c
Commit
4892872c
authored
Apr 25, 2025
by
Michael Yang
Committed by
Michael Yang
Apr 25, 2025
Browse files
convert: change to colmajor
parent
0b9198bf
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
13 additions
and
16 deletions
+13
-16
convert/convert.go
convert/convert.go
+11
-14
fs/ggml/gguf.go
fs/ggml/gguf.go
+2
-2
No files found.
convert/convert.go
View file @
4892872c
...
...
@@ -7,6 +7,7 @@ import (
"io"
"io/fs"
"log/slog"
"slices"
"strings"
"github.com/ollama/ollama/fs/ggml"
...
...
@@ -84,14 +85,6 @@ func (ModelParameters) specialTokenTypes() []string {
}
}
func
(
ModelParameters
)
writeFile
(
ws
io
.
WriteSeeker
,
kv
ggml
.
KV
,
ts
[]
ggml
.
Tensor
)
error
{
return
ggml
.
WriteGGUF
(
ws
,
kv
,
ts
)
}
func
(
AdapterParameters
)
writeFile
(
ws
io
.
WriteSeeker
,
kv
ggml
.
KV
,
ts
[]
ggml
.
Tensor
)
error
{
return
ggml
.
WriteGGUF
(
ws
,
kv
,
ts
)
}
type
ModelConverter
interface
{
// KV maps parameters to LLM key-values
KV
(
*
Tokenizer
)
ggml
.
KV
...
...
@@ -103,8 +96,6 @@ type ModelConverter interface {
// specialTokenTypes returns any special token types the model uses
specialTokenTypes
()
[]
string
// writeFile writes the model to the provided io.WriteSeeker
writeFile
(
io
.
WriteSeeker
,
ggml
.
KV
,
[]
ggml
.
Tensor
)
error
}
type
moreParser
interface
{
...
...
@@ -119,8 +110,6 @@ type AdapterConverter interface {
// Replacements returns a list of string pairs to replace in tensor names.
// See [strings.Replacer](https://pkg.go.dev/strings#Replacer) for details
Replacements
()
[]
string
writeFile
(
io
.
WriteSeeker
,
ggml
.
KV
,
[]
ggml
.
Tensor
)
error
}
func
ConvertAdapter
(
fsys
fs
.
FS
,
ws
io
.
WriteSeeker
,
baseKV
ggml
.
KV
)
error
{
...
...
@@ -158,7 +147,7 @@ func ConvertAdapter(fsys fs.FS, ws io.WriteSeeker, baseKV ggml.KV) error {
return
err
}
return
conv
.
writeFile
(
ws
,
conv
.
KV
(
baseKV
),
conv
.
Tensors
(
ts
))
return
writeFile
(
ws
,
conv
.
KV
(
baseKV
),
conv
.
Tensors
(
ts
))
}
// Convert writes an Ollama compatible model to the provided io.WriteSeeker based on configurations
...
...
@@ -248,5 +237,13 @@ func ConvertModel(fsys fs.FS, ws io.WriteSeeker) error {
return
err
}
return
conv
.
writeFile
(
ws
,
conv
.
KV
(
t
),
conv
.
Tensors
(
ts
))
return
writeFile
(
ws
,
conv
.
KV
(
t
),
conv
.
Tensors
(
ts
))
}
func
writeFile
(
ws
io
.
WriteSeeker
,
kv
ggml
.
KV
,
ts
[]
ggml
.
Tensor
)
error
{
for
i
:=
range
ts
{
ts
[
i
]
.
Shape
=
slices
.
Clone
(
ts
[
i
]
.
Shape
)
slices
.
Reverse
(
ts
[
i
]
.
Shape
)
}
return
ggml
.
WriteGGUF
(
ws
,
kv
,
ts
)
}
fs/ggml/gguf.go
View file @
4892872c
...
...
@@ -627,8 +627,8 @@ func ggufWriteTensorInfo(ws io.WriteSeeker, t Tensor) error {
return
err
}
for
i
:=
range
len
(
t
.
Shape
)
{
if
err
:=
binary
.
Write
(
ws
,
binary
.
LittleEndian
,
t
.
Shape
[
len
(
t
.
Shape
)
-
i
-
1
]
);
err
!=
nil
{
for
_
,
n
:=
range
t
.
Shape
{
if
err
:=
binary
.
Write
(
ws
,
binary
.
LittleEndian
,
n
);
err
!=
nil
{
return
err
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment