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 },
| };
| }
|
|