gx
chenyc
2025-06-12 7b72ac13a83764a662159d4a49b7fffb90476ecb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { extractFCParamsFactory, extractWeightsFactory, ParamMapping } from '../common/index';
import { NetParams } from './types';
 
export function extractParams(weights: Float32Array, channelsIn: number, channelsOut: number): { params: NetParams, paramMappings: ParamMapping[] } {
  const paramMappings: ParamMapping[] = [];
 
  const {
    extractWeights,
    getRemainingWeights,
  } = extractWeightsFactory(weights);
 
  const extractFCParams = extractFCParamsFactory(extractWeights, paramMappings);
 
  const fc = extractFCParams(channelsIn, channelsOut, 'fc');
 
  if (getRemainingWeights().length !== 0) {
    throw new Error(`weights remaing after extract: ${getRemainingWeights().length}`);
  }
 
  return {
    paramMappings,
    params: { fc },
  };
}