helloadhavan/github_issues huggingface dataset:
Repository: ollama/ollama
Pull request: fix: show correct bool value for kv in verbose show information


Changed files:
filename: cmd/cmd.go
patch: @@ -703,6 +703,8 @@ func showInfo(resp *api.ShowResponse, verbose bool, w io.Writer) error {
 			for _, k := range keys {
 				var v string
 				switch vData := resp.ModelInfo[k].(type) {
+				case bool:
+					v = fmt.Sprintf("%t", vData)
 				case string:
 					v = vData
 				case float64:

filename: cmd/cmd_test.go
patch: @@ -87,6 +87,8 @@ func TestShowInfo(t *testing.T) {
 			ModelInfo: map[string]any{
 				"general.architecture":    "test",
 				"general.parameter_count": float64(8_000_000_000),
+				"some.true_bool":          true,
+				"some.false_bool":         false,
 				"test.context_length":     float64(1000),
 				"test.embedding_length":   float64(11434),
 			},
@@ -111,6 +113,8 @@ func TestShowInfo(t *testing.T) {
   Metadata
     general.architecture       test     
     general.parameter_count    8e+09    
+    some.false_bool            false    
+    some.true_bool             true     
     test.context_length        1000     
     test.embedding_length      11434
Repository: ggml-org/llama.cpp
Pull request: convert : support contiguous method on lora tensors

Fixes #20450

Changed files:
filename: convert_lora_to_gguf.py
patch: @@ -128,6 +128,12 @@ def size(self, dim=None):
         assert dim is None
         return self.shape
 
+    def contiguous(self) -> LoraTorchTensor:
+        return LoraTorchTensor(
+            self._lora_A.contiguous(),
+            self._lora_B.contiguous(),
+        )
+
     def reshape(self, *shape: int | tuple[int, ...]) -> LoraTorchTensor:
         if isinstance(shape[0], tuple):
             new_shape: tuple[int, ...] = shape[0]
Repository: ollama/ollama
Pull request: ollamarunner: Provide mechanism for backends to loading progress

This enables the runner to report progress back to the Ollama server, both for showing status to the user and also to prevent the server from killing the runner if it thinks things have stalled.

Most of the infrastructure was already there, this extends it to be available to the backends.

Changed files:
filename: ml/backend.go
patch: @@ -60,6 +60,10 @@ type CacheConfig struct {
 
 // BackendParams controls how the backend loads and executes models
 type BackendParams struct {
+	// Progress is a callback function that allows reporting percentage completion
+	// of model loading
+	Progress func(float32)
+
 	// NumThreads sets the number of threads to use if running on the CPU
 	NumThreads int
 

filename: runner/ollamarunner/runner.go
patch: @@ -783,6 +783,9 @@ func Execute(args []string) error {
 	}
 
 	params := ml.BackendParams{
+		Progress: func(progress float32) {
+			server.progress = progress
+		},
 		NumThreads:     *threads,
 		NumGPULayers:   *numGPULayers,
 		MainGPU:        *mainGPU,
Repository: electron/electron
Pull request: build(dev-deps): bump @electron/lint-roller to 3.2.0

Backport of #49565

See that PR for details.


Notes: none <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->


Changed files:
filename: package.json
patch: @@ -10,7 +10,7 @@
     "@electron/docs-parser": "^2.0.0",
     "@electron/fiddle-core": "^1.3.4",
     "@electron/github-app-auth": "^3.2.0",
-    "@electron/lint-roller": "^3.1.2",
+    "@electron/lint-roller": "^3.2.0",
     "@electron/typescript-definitions": "^9.1.5",
     "@octokit/rest": "^20.1.2",
     "@primer/octicons": "^10.0.0",

filename: yarn.lock
patch: @@ -442,7 +442,7 @@ __metadata:
     "@electron/docs-parser": "npm:^2.0.0"
     "@electron/fiddle-core": "npm:^1.3.4"
     "@electron/github-app-auth": "npm:^3.2.0"
-    "@electron/lint-roller": "npm:^3.1.2"
+    "@electron/lint-roller": "npm:^3.2.0"
     "@electron/typescript-definitions": "npm:^9.1.5"
     "@octokit/rest": "npm:^20.1.2"
     "@primer/octicons": "npm:^10.0.0"
@@ -656,9 +656,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@electron/lint-roller@npm:^3.1.2":
-  version: 3.1.2
-  resolution: "@electron/lint-roller@npm:3.1.2"
+"@electron/lint-roller@npm:^3.2.0":
+  version: 3.2.0
+  resolution: "@electron/lint-roller@npm:3.2.0"
   dependencies:
     "@dsanders11/vscode-markdown-languageservice": "npm:^0.3.0"
     ajv: "npm:^8.16.0"
@@ -683,7 +683,7 @@ __metadata:
     lint-roller-markdown-links: dist/bin/lint-markdown-links.js
     lint-roller-markdown-standard: dist/bin/lint-markdown-standard.js
     lint-roller-markdown-ts-check: dist/bin/lint-markdown-ts-check.js
-  checksum: 10c0/e98a65d44b99accf44e33d7dfb1e8d85a75580a7efa7b4a570b0f8e7274aad3eb60fc6d285b5d1d78ecd093e902820222cfdf3e193eec65a8a3536d4c75bb060
+  checksum: 10c0/5331163518f41c1ea8ac302891d808891b5570f657587194717e3a8214c0d99e04949cf500ff138b02b77a373e317c3e77042b19c7fbda186d5c970b6b81df80
   languageName: node
   linkType: hard
Repository: ollama/ollama
Pull request: kvcache: Account for source tensors in defrag operation count

Defragging the KV cache can generate a lot of operations, so we need to be careful that we don't overflow the number that the graph can support. We currently account for all of the nodes that we add to the graph for each move but we also need to include the original cache tensors as well.

Fixes #9904

Changed files:
filename: kvcache/causal.go
patch: @@ -321,7 +321,8 @@ func (c *Causal) defrag() {
 	ctx := c.backend.NewContext()
 
 	// For every move, 6 tensors are required per layer (2 views and a
-	// copy for each of k and v).
+	// copy for each of k and v). We also need to refer to the original
+	// k and v cache tensors - once per layer, not per move.
 	layers := 0
 	for _, key := range c.keys {
 		if key == nil {
@@ -330,7 +331,7 @@ func (c *Causal) defrag() {
 		layers++
 	}
 
-	maxMoves := ctx.MaxGraphNodes() / (6 * layers)
+	maxMoves := (ctx.MaxGraphNodes() - 2*layers) / (6 * layers)
 	moves := 0
 
 	var pendingSrc, pendingDst, pendingLen int
Repository: facebook/react
Pull request: [Fizz] Rename ReactFizzContext to ReactFizzLegacyContext

#33622 forgot these.

Changed files:
filename: packages/react-server/src/ReactFizzClassComponent.js
patch: @@ -7,7 +7,7 @@
  * @flow
  */
 
-import {emptyContextObject} from './ReactFizzContext';
+import {emptyContextObject} from './ReactFizzLegacyContext';
 import {readContext} from './ReactFizzNewContext';
 
 import {disableLegacyContext} from 'shared/ReactFeatureFlags';

filename: packages/react-server/src/ReactFizzServer.js
patch: @@ -108,7 +108,7 @@ import {
   getMaskedContext,
   processChildContext,
   emptyContextObject,
-} from './ReactFizzContext';
+} from './ReactFizzLegacyContext';
 import {
   readContext,
   rootContextSnapshot,
Repository: vuejs/vue
Pull request: fix(types): update this for nextTick api

**What kind of change does this PR introduce?** (check at least one)

- [x] Bugfix
- [ ] Feature
- [ ] Code style update
- [ ] Refactor
- [ ] Build-related changes
- [ ] Other, please describe:

**Does this PR introduce a breaking change?** (check one)

- [ ] Yes
- [x] No

If yes, please describe the impact and migration path for existing applications:

**The PR fulfills these requirements:**

- [x] It's submitted to the `dev` branch for v2.x (or to a previous version branch), _not_ the `master` branch
- [x] When resolving a specific issue, it's referenced in the PR's title (e.g. `fix #xxx[,#xxx]`, where "xxx" is the issue number)
- [ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
- [x] New/updated tests are included

If adding a **new feature**, the PR's description includes:
- [ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

**Other information:**


Ref: https://github.com/vuejs/vue/blob/dev/src/core/util/next-tick.js#L92

`this` in `Vue.nextTick` should always be the context. 

Changed files:
filename: types/test/vue-test.ts
patch: @@ -86,6 +86,9 @@ class Test extends Vue {
       }
     });
     this.nextTick(() => {});
+    this.nextTick(function () {
+      console.log(this.text === 'test');
+    }, { text: 'test'});
     this.nextTick().then(() => {});
     this.set({}, "", "");
     this.set({}, 1, "");

filename: types/vue.d.ts
patch: @@ -89,7 +89,7 @@ export interface VueConstructor<V extends Vue = Vue> {
   extend<Props>(definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>>): ExtendedVue<V, {}, {}, {}, Props>;
   extend(options?: ComponentOptions<V>): ExtendedVue<V, {}, {}, {}, {}>;
 
-  nextTick(callback: () => void, context?: any[]): void;
+  nextTick<T>(callback: (this: T) => void, context?: T): void;
   nextTick(): Promise<void>
   set<T>(object: object, key: string | number, value: T): T;
   set<T>(array: T[], key: number, value: T): T;
Repository: electron/electron
Pull request: build(dev-deps): bump @electron/lint-roller to 3.2.0

#### Description of Change

<!--
Thank you for your Pull Request. Please provide a description above and review
the requirements below.

Contributors guide: https://github.com/electron/electron/blob/main/CONTRIBUTING.md
-->

Picks up a minor feature which will let us switch some docs links that are currently hardcoded to github.com to be relative links. Will do a follow-up PR with the docs changes to keep a clean separation and make the backports simpler.

#### Checklist
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->

- [x] PR description included

#### Release Notes

Notes: none <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->


Changed files:
filename: package.json
patch: @@ -10,7 +10,7 @@
     "@electron/docs-parser": "^2.0.0",
     "@electron/fiddle-core": "^1.3.4",
     "@electron/github-app-auth": "^3.2.0",
-    "@electron/lint-roller": "^3.1.2",
+    "@electron/lint-roller": "^3.2.0",
     "@electron/typescript-definitions": "^9.1.5",
     "@octokit/rest": "^20.1.2",
     "@primer/octicons": "^10.0.0",

filename: yarn.lock
patch: @@ -592,7 +592,7 @@ __metadata:
     "@electron/docs-parser": "npm:^2.0.0"
     "@electron/fiddle-core": "npm:^1.3.4"
     "@electron/github-app-auth": "npm:^3.2.0"
-    "@electron/lint-roller": "npm:^3.1.2"
+    "@electron/lint-roller": "npm:^3.2.0"
     "@electron/typescript-definitions": "npm:^9.1.5"
     "@octokit/rest": "npm:^20.1.2"
     "@primer/octicons": "npm:^10.0.0"
@@ -869,9 +869,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@electron/lint-roller@npm:^3.1.2":
-  version: 3.1.2
-  resolution: "@electron/lint-roller@npm:3.1.2"
+"@electron/lint-roller@npm:^3.2.0":
+  version: 3.2.0
+  resolution: "@electron/lint-roller@npm:3.2.0"
   dependencies:
     "@dsanders11/vscode-markdown-languageservice": "npm:^0.3.0"
     ajv: "npm:^8.16.0"
@@ -896,7 +896,7 @@ __metadata:
     lint-roller-markdown-links: dist/bin/lint-markdown-links.js
     lint-roller-markdown-standard: dist/bin/lint-markdown-standard.js
     lint-roller-markdown-ts-check: dist/bin/lint-markdown-ts-check.js
-  checksum: 10c0/e98a65d44b99accf44e33d7dfb1e8d85a75580a7efa7b4a570b0f8e7274aad3eb60fc6d285b5d1d78ecd093e902820222cfdf3e193eec65a8a3536d4c75bb060
+  checksum: 10c0/5331163518f41c1ea8ac302891d808891b5570f657587194717e3a8214c0d99e04949cf500ff138b02b77a373e317c3e77042b19c7fbda186d5c970b6b81df80
   languageName: node
   linkType: hard
Repository: nodejs/node
Pull request: test_runner: fix coverage report when a directory is named file

The coverage tree traversal checked `tree[key].file` to detect file
entries. When a directory named "file" contained a file also named
"file", this check incorrectly matched the child entry instead of
file metadata, causing a TypeError when accessing `.path`.

Check for `.file?.path` instead to correctly identify file metadata.

Fixes: https://github.com/nodejs/node/issues/61080

Changed files:
filename: lib/internal/test_runner/utils.js
patch: @@ -551,7 +551,7 @@ function getCoverageReport(pad, summary, symbol, color, table) {
 
   function printCoverageBodyTree(tree, depth = 0) {
     for (const key in tree) {
-      if (tree[key].file) {
+      if (tree[key].file?.path) {
         const file = tree[key].file;
         const fileName = ArrayPrototypePop(StringPrototypeSplit(file.path, sep));
 

filename: test/fixtures/test-runner/coverage-file-name/file/file
patch: @@ -0,0 +1,4 @@
+'use strict';
+module.exports.fn = function() {
+  return 1;
+};

filename: test/fixtures/test-runner/coverage-file-name/test.js
patch: @@ -0,0 +1,7 @@
+'use strict';
+const { fn } = require('./file/file');
+const test = require('node:test');
+
+test('coverage with file/file directory structure', () => {
+  fn();
+});

filename: test/parallel/test-runner-coverage.js
patch: @@ -550,3 +550,19 @@ test('correctly prints the coverage report of files contained in parent director
   assert(result.stdout.toString().includes(report));
   assert.strictEqual(result.status, 0);
 });
+
+// Regression test for https://github.com/nodejs/node/issues/61080
+test('coverage with directory and file named "file"', skipIfNoInspector, () => {
+  const fixture = fixtures.path('test-runner', 'coverage-file-name', 'test.js');
+  const args = [
+    '--experimental-test-coverage',
+    '--test-reporter',
+    'tap',
+    fixture,
+  ];
+  const result = spawnSync(process.execPath, args);
+
+  assert.strictEqual(result.stderr.toString(), '');
+  assert.strictEqual(result.status, 0);
+  assert(result.stdout.toString().includes('start of coverage report'));
+});
Repository: facebook/react
Pull request: [Flight] Emit start time before an await if one wasn't emitted already

There's a special case where if we create a new task, e.g. to serialize a promise like `<div>{promise}</div>` then that row doesn't have any start time emitted but it has a `task.time` inherited. We mostly don't need this because every other operation emits its own start time. E.g. when we started rendering a Server Component or the real start time of a real `await`.

For these implied awaits we don't have a start time. Ideally it would probably be when we started the serialization, like when we called `.then()` but we can't just emit that eagerly and we can't just advance the `task.time` because that time represents the last render or previous await and we use that to cut off awaits. However for this case we don't want to cut off any inner awaits inside the node we're serializing if they happened before the `.then()`.

Therefore, I just use the time of the previous operation - which is likely either the resolution of a previous promise that blocked the `<div>` like the promise of the Server Component that rendered it, or just the start of the Server Component if it was sync.

Changed files:
filename: packages/react-server/src/ReactFlightServer.js
patch: @@ -2211,6 +2211,10 @@ function emitAsyncSequence(
         debugInfo.stack = filterStackTrace(request, parseStackTrace(stack, 1));
       }
     }
+    // We don't have a start time for this await but in case there was no start time emitted
+    // we need to include something. TODO: We should maybe ideally track the time when we
+    // called .then() but without updating the task.time field since that's used for the cutoff.
+    advanceTaskTime(request, task, task.time);
     emitDebugChunk(request, task.id, debugInfo);
     // Mark the end time of the await. If we're aborting then we don't emit this
     // to signal that this never resolved inside this render.
@@ -4752,6 +4756,10 @@ function forwardDebugInfoFromAbortedTask(request: Request, task: Task): void {
             awaited: ((node: any): ReactIOInfo), // This is deduped by this reference.
             env: env,
           };
+          // We don't have a start time for this await but in case there was no start time emitted
+          // we need to include something. TODO: We should maybe ideally track the time when we
+          // called .then() but without updating the task.time field since that's used for the cutoff.
+          advanceTaskTime(request, task, task.time);
           emitDebugChunk(request, task.id, asyncInfo);
         } else {
           emitAsyncSequence(request, task, sequence, debugInfo, null, null);
Repository: electron/electron
Pull request: fix: duplicate fullscreen macOS menu item

Backport of #49074

See that PR for details.


Notes: Fixed an issue whereby a duplicate "Toggle Full Screen" menu item appeared in the View menu on macOS.


Changed files:
filename: shell/browser/mac/electron_application_delegate.mm
patch: @@ -56,11 +56,6 @@ - (void)willPowerOff:(NSNotification*)notify {
 }
 
 - (void)applicationWillFinishLaunching:(NSNotification*)notify {
-  // Don't add the "Enter Full Screen" menu item automatically.
-  [[NSUserDefaults standardUserDefaults]
-      setBool:NO
-       forKey:@"NSFullScreenMenuItemEverywhere"];
-
   [[[NSWorkspace sharedWorkspace] notificationCenter]
       addObserver:self
          selector:@selector(willPowerOff:)

filename: shell/browser/ui/cocoa/electron_menu_controller.mm
patch: @@ -560,6 +560,14 @@ - (BOOL)isMenuOpen {
 
 - (void)menuWillOpen:(NSMenu*)menu {
   isMenuOpen_ = YES;
+
+  // macOS automatically injects a duplicate "Toggle Full Screen" menu item
+  // when we set menu.delegate on submenus. Remove hidden duplicates.
+  for (NSMenuItem* item in menu.itemArray) {
+    if (item.isHidden && item.action == @selector(toggleFullScreenMode:))
+      [menu removeItem:item];
+  }
+
   [self refreshMenuTree:menu];
   if (model_)
     model_->MenuWillShow();
Repository: ggml-org/llama.cpp
Pull request: Guard against sumq2 being 0 in IQ4_NL resulting in nan values

With `IQ4_NL` on several recent models there have been issues where during quantization NaN blocks are being found which crashes the quant

It seems to be stemming from a scenario where `sumq2` is 0 for a given block, likely from not having imatrix data for some obscure expert, or the weights themselves being 0 as we've seen with some recent Qwen models

This change guards against dividing by 0, instead setting `d` to 0, which would then just set the block of weights to 0, which seems appropriate

Most recently observed in nvidia's Nemotron-3-Super-120B-A12B, `blk.3.ffn_down_exps` has a block that never sees imatrix data, and that results in `sumq2` being 0

I added some debug information to look at what those weights are like (to ensure that setting them to 0 wouldn't present a new issue) and the `amax` at this time is in the order of 1e-11 so they're likely rounding down to 0 during imatrix calculations anyways

Changed files:
filename: ggml/src/ggml-quants.c
patch: @@ -4767,7 +4767,7 @@ static void quantize_row_iq4_nl_impl(const int super_block_size, const int block
             sumqx += w*q*xb[j];
             sumq2 += w*q*q;
         }
-        d = sumqx/sumq2;
+        d = sumq2 > 0 ? sumqx/sumq2 : 0.f;
         float best = d*sumqx;
         for (int itry = -ntry; itry <= ntry; ++itry) {
             id = (itry + values[0])/max;
Repository: ollama/ollama
Pull request: parser: remove role validation from Modelfile parser

This allows passing arbitrary roles in a MESSAGE block in a Modelfile. Related to https://github.com/ollama/ollama-python/pull/462 and comments from @ParthSareen.

Example Modelfiles that this PR will now allow:
```
FROM granite3.2

MESSAGE control thinking
```

or

```
FROM granite3.2

MESSAGE somerandomrole whatever you want here
```

Changed files:
filename: parser/parser.go
patch: @@ -7,6 +7,7 @@ import (
 	"errors"
 	"fmt"
 	"io"
+	"log/slog"
 	"net/http"
 	"os"
 	"os/user"
@@ -300,9 +301,8 @@ const (
 )
 
 var (
-	errMissingFrom        = errors.New("no FROM line")
-	errInvalidMessageRole = errors.New("message role must be one of \"system\", \"user\", or \"assistant\"")
-	errInvalidCommand     = errors.New("command must be one of \"from\", \"license\", \"template\", \"system\", \"adapter\", \"parameter\", or \"message\"")
+	errMissingFrom    = errors.New("no FROM line")
+	errInvalidCommand = errors.New("command must be one of \"from\", \"license\", \"template\", \"system\", \"adapter\", \"parameter\", or \"message\"")
 )
 
 type ParserError struct {
@@ -379,14 +379,10 @@ func ParseFile(r io.Reader) (*Modelfile, error) {
 			case stateParameter:
 				cmd.Name = b.String()
 			case stateMessage:
-				if !isValidMessageRole(b.String()) {
-					return nil, &ParserError{
-						LineNumber: currLine,
-						Msg:        errInvalidMessageRole.Error(),
-					}
-				}
-
 				role = b.String()
+				if !isKnownMessageRole(b.String()) {
+					slog.Warn("received non-standard role", "role", role)
+				}
 			case stateComment, stateNil:
 				// pass
 			case stateValue:
@@ -556,7 +552,7 @@ func isNewline(r rune) bool {
 	return r == '\r' || r == '\n'
 }
 
-func isValidMessageRole(role string) bool {
+func isKnownMessageRole(role string) bool {
 	return role == "system" || role == "user" || role == "assistant"
 }
 

filename: parser/parser_test.go
patch: @@ -256,13 +256,13 @@ You are a multiline file parser. Always parse things.
 		{
 			`
 FROM foo
-MESSAGE badguy I'm a bad guy!
+MESSAGE somerandomrole I'm ok with you adding any role message now!
 `,
-			nil,
-			&ParserError{
-				LineNumber: 3,
-				Msg:        errInvalidMessageRole.Error(),
+			[]Command{
+				{Name: "model", Args: "foo"},
+				{Name: "message", Args: "somerandomrole: I'm ok with you adding any role message now!"},
 			},
+			nil,
 		},
 		{
 			`
Repository: electron/electron
Pull request: build(dev-deps): bump @electron/lint-roller to 3.2.0

Backport of #49565.

See that PR for details.

Notes: none

Changed files:
filename: package.json
patch: @@ -10,7 +10,7 @@
     "@electron/docs-parser": "^2.0.0",
     "@electron/fiddle-core": "^1.3.4",
     "@electron/github-app-auth": "^3.2.0",
-    "@electron/lint-roller": "^3.1.2",
+    "@electron/lint-roller": "^3.2.0",
     "@electron/typescript-definitions": "^9.1.2",
     "@octokit/rest": "^20.1.2",
     "@primer/octicons": "^10.0.0",

filename: yarn.lock
patch: @@ -442,7 +442,7 @@ __metadata:
     "@electron/docs-parser": "npm:^2.0.0"
     "@electron/fiddle-core": "npm:^1.3.4"
     "@electron/github-app-auth": "npm:^3.2.0"
-    "@electron/lint-roller": "npm:^3.1.2"
+    "@electron/lint-roller": "npm:^3.2.0"
     "@electron/typescript-definitions": "npm:^9.1.2"
     "@octokit/rest": "npm:^20.1.2"
     "@primer/octicons": "npm:^10.0.0"
@@ -656,9 +656,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@electron/lint-roller@npm:^3.1.2":
-  version: 3.1.2
-  resolution: "@electron/lint-roller@npm:3.1.2"
+"@electron/lint-roller@npm:^3.2.0":
+  version: 3.2.0
+  resolution: "@electron/lint-roller@npm:3.2.0"
   dependencies:
     "@dsanders11/vscode-markdown-languageservice": "npm:^0.3.0"
     ajv: "npm:^8.16.0"
@@ -683,7 +683,7 @@ __metadata:
     lint-roller-markdown-links: dist/bin/lint-markdown-links.js
     lint-roller-markdown-standard: dist/bin/lint-markdown-standard.js
     lint-roller-markdown-ts-check: dist/bin/lint-markdown-ts-check.js
-  checksum: 10c0/e98a65d44b99accf44e33d7dfb1e8d85a75580a7efa7b4a570b0f8e7274aad3eb60fc6d285b5d1d78ecd093e902820222cfdf3e193eec65a8a3536d4c75bb060
+  checksum: 10c0/5331163518f41c1ea8ac302891d808891b5570f657587194717e3a8214c0d99e04949cf500ff138b02b77a373e317c3e77042b19c7fbda186d5c970b6b81df80
   languageName: node
   linkType: hard
Repository: ollama/ollama
Pull request: gemma2: Remove second call to Rows

Looks like a merge conflict that broke the model.

Changed files:
filename: model/models/gemma2/model.go
patch: @@ -211,8 +211,7 @@ func (m *Model) Forward(ctx ml.Context, opts input.Options) (ml.Tensor, error) {
 	// final logit softcap
 	hiddenState = hiddenState.Scale(ctx, 1.0/float64(m.Options.finalLogitSoftcap))
 	hiddenState = hiddenState.Tanh(ctx)
-	hiddenState = hiddenState.Scale(ctx, float64(m.Options.finalLogitSoftcap))
-	return hiddenState.Rows(ctx, outputs), nil
+	return hiddenState.Scale(ctx, float64(m.Options.finalLogitSoftcap)), nil
 }
 
 func init() {