|
@@ -579,12 +579,16 @@ func (f GGML) GraphSize(context, batch uint64, kvCacheType string) (kv, partialO
|
|
|
}
|
|
|
|
|
|
func (llm GGML) VisionGraphSize() (weights, graphSize uint64) {
|
|
|
- switch llm.KV().Architecture() {
|
|
|
- case "mllama":
|
|
|
- for _, layer := range llm.Tensors().GroupLayers()["v"] {
|
|
|
- weights += layer.Size()
|
|
|
+ for name, layer := range llm.Tensors().GroupLayers() {
|
|
|
+ if strings.HasPrefix(name, "v.") {
|
|
|
+ for _, tensor := range layer {
|
|
|
+ weights += tensor.Size()
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ switch llm.KV().Architecture() {
|
|
|
+ case "mllama":
|
|
|
kv := func(n string) uint64 {
|
|
|
if v, ok := llm.KV()["mllama.vision."+n].(uint32); ok {
|
|
|
return uint64(v)
|
|
@@ -611,15 +615,8 @@ func (llm GGML) VisionGraphSize() (weights, graphSize uint64) {
|
|
|
embeddingLength*numPatches*maxNumTiles +
|
|
|
9*embeddingLength*numPaddedPatches*maxNumTiles +
|
|
|
numPaddedPatches*maxNumTiles*numPaddedPatches*maxNumTiles*headCount)
|
|
|
- case "gemma3":
|
|
|
- for name, layer := range llm.Tensors().GroupLayers() {
|
|
|
- if strings.HasPrefix(name, "v.") {
|
|
|
- for _, tensor := range layer {
|
|
|
- weights += tensor.Size()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
+
|
|
|
return weights, graphSize
|
|
|
}
|
|
|
|