chenyc
2025-05-29 92f69c57b920cf62ecc9f15f9ed196fa26dbf2ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { isTensor } from '../utils/index';
import { ParamMapping } from './types';
 
export function extractWeightEntryFactory(weightMap: any, paramMappings: ParamMapping[]) {
  return (originalPath: string, paramRank: number, mappedPath?: string) => {
    const tensor = weightMap[originalPath];
 
    if (!isTensor(tensor, paramRank)) {
      throw new Error(`expected weightMap[${originalPath}] to be a Tensor${paramRank}D, instead have ${tensor}`);
    }
 
    paramMappings.push(
      { originalPath, paramPath: mappedPath || originalPath },
    );
 
    return tensor;
  };
}