resize method

void resize(
  1. int newSize
)

Resize the embedding to accommodate newSize entries.

Preserves existing embeddings and zero-initializes new rows.

Implementation

void resize(int newSize) {
  if (newSize == numEmbeddings) return;
  final newWeight = Float32List(newSize * embeddingDim);
  final copyCount = newSize < numEmbeddings ? newSize : numEmbeddings;
  for (int i = 0; i < copyCount * embeddingDim; i++) {
    newWeight[i] = weight.data[i];
  }
  weight = Tensor(newWeight, [newSize, embeddingDim]);
  numEmbeddings = newSize;
}